VF頁面生成word圖片不顯示解決

  • 2019 年 10 月 8 日
  • 筆記
  1. vf頁面配置成以下就能生成word文檔

<apex:page cache="true" contentType="application/vnd.msword#he.docx" applyBodyTag="false">

2.生成word中靜態資源圖片顯示,需將salesforce中靜態資源圖片設置為公用

VF頁面

<apex:image width="300" height="90" value="{!$Resource.靜態資源名稱}"/>

3.生成word中動態圖片上傳附件,將附件圖片在word中顯示!由於附件中圖片是在某個對象的一個記錄,無法將附件圖片設置為公用!而需要訪問此圖片,則需要實現不登錄SF就能通過附件路徑載入該圖片!在SF中有兩種方式,一種是通過開啟社區,還有一種是設置站點。

(1)開啟社區,首先找到設置

(2)然後搜索社區,沒有開啟社區的,直接去啟用就好了

(3)點擊全部社區,新建社區

(4)建好後進行發布,可以看到工作區旁邊有構建器

(5)點擊構建器,將公眾可以訪問社區勾選。

(6)然後點擊test簡檔,點擊編輯

(7)給某個自定義對象勾選許可權,然後點擊保存

(8)最後用社區域名就能訪問到該對象的附件了,不需要再登錄SF

VF中程式碼可以這樣寫

<apex:image value="{!if(att.Id != null ,

'https://你社區的域名.ap8.force.com/ss/servlet/servlet.FileDownload?file='+att.Id,'')}" />

二站點

(1)同樣是去設置中搜索站點

(2)點擊站點,沒有站點的,第一時間是需要給站點起個域名,然後點擊新建

(3)然後輸入基本操作資訊,點擊保存

(4)然後點擊公開訪問設置

(5)對該簡檔進行編輯

(6)給需要許可權的對象開啟一些許可權,然後點擊保存

(7)最後使用站點url去訪問改對象的附件的路徑servlet/servlet.FileDownload?file=att.id

vf中程式碼寫法

<apex:image value="{!if(att.Id != null ,

'http://你站點的url/servlet/servlet.FileDownload?file='+att.Id,'')}" />

然後word中也會顯示出來啦