Salesforce Visualforce(VFP)页面呈现为PDF,但下载后,数据不会显示在表中



我设置了一个VFP,它从列表视图中提取可检查的记录列表。它正确地呈现并显示记录。但出于某种原因,当我下载页面并在Adobe或网络上打开时,它不会在表中显示数据。

顶点代码:

global virtual with sharing class LoadsBatchMill_V2 {
global List<FR__Load__c> loadList {get;set;}
global String renderAs { get; set; }
global ApexPages.StandardSetController standardController;
global Set<Id> loadIds = new Set<Id>();
global LoadsBatchMill_V2(ApexPages.StandardSetController standardController){
this.standardController = standardController;
loadList = new List<FR__Load__c>();
for (FR__Load__c load : (List<FR__Load__c>)standardController.getSelected()){ 
loadIds.add(load.Id);
}
loadList = [SELECT Name, Pickup_By__c, Quantity__c, FR__Commodity__c, E_BOL_Link__c FROM FR__Load__c WHERE ID IN: loadIds];}
}

VISUALFORCE页面代码:

<apex:page standardController="FR__Load__c" extensions="LoadsBatchMill_V2" recordSetVar="Loads" sidebar="false" applyBodyTag="false" renderAs="PDF">
<head>
<style>

body { 
font-family: 'Arial Unicode MS'; 
}
blackline { 
border: 1px solid #000;
}
table { 
border-collapse: collapse;
border-spacing: 0;
}
td,th{
<!--border: 1px solid #8f8f8f;-->
border: 1px solid #c7cdd4;
padding: 5px;
}
</style>
</head>

<apex:pageBlock >
<div style="body; font-size: .85em">
<apex:image url="{!$Resource.FR}" width="120"/> <br /><br /><br />
<apex:pageBlock rendered="true">
<apex:pageBlockTable width="100%" align="center" style="border: none; vertical-align: bottom;" value="{!loadList}" var="L">
<apex:column value="{!L.Name}"/>
<apex:column value="{!L.Pickup_By__c}"/>
<apex:column value="{!L.Quantity__c}"/>
<apex:column value="{!L.FR__Commodity__c}"/>
</apex:pageBlockTable>
</apex:pageBlock>
</apex:page>
  1. 注释掉<apex:image url="{!$Resource.FR}"。静态资源中的图像通常不会在PDF中显示得很好,您需要一个带有"的文档记录;外部可用图像";勾选。但它不应该导致整个事情失败,只是渲染为损坏的图标。

  2. <apex:pageBlockTable>在PDF中表现不佳,因为它附带了一堆无法运行的JavaScript。看见https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_output_pdf_component_behavior.htm打印漂亮的PDF是一门艺术,看看你是否可以使用<apex:repeat>并手动制作<table><tr><td>...。看看你能不能从我的回答中偷一些想法https://salesforce.stackexchange.com/q/194167/799

  3. 为了调试(和更快的渲染(,您可以从页面中删除renderAs="PDF",并在对输出相对满意时添加它。

最新更新