2012-09-20 30 views
1

我必須生成批准報價訂單的PDF。所以,我必須通過觸發器來完成。在Salesforce中從觸發器/未來類生成PDF

但是,我無法從觸發器訪問VF頁面,因爲我使用頁面中的VF Page和renderas="PDF"來格式化內容。

所以,我試圖用未來的課程來做同樣的事情。但是,關於pagereference.getContent()pagereference.getContentAsPDF()方法的使用還存在另一個問題:這些方法不應該用於將來的類。

所以,任何人都可以建議我一些想法來生成一個pdf並附加到報價。

回答

0

對我來說,這似乎是解決這個問題的最簡單的方法。

  1. 呼叫進入觸發您的XXPDFGenerator類中添加需要記錄
  2. 創建一個類XXPDFGenerator
  3. 添加generatePDF和attachPDF方法
  4. 生成HTML到generatePDF方法
  5. 轉換爲PDF和插入作爲此樣品的附件

    Attachment attachmentPDF = new Attachment(); 
    attachmentPDF.parentId = record.Id; 
    attachmentPDF.Name = record.Name + '.pdf'; 
    attachmentPDF.body = Blob.toPDF(pdfContent); //This creates the PDF content 
    insert attachmentPDF; 
    

關於Cory Cowgill blog的完整信息

+0

Blob.toPDF允許使用豐富格式嗎? – Acuariano

+0

我使用頁面動態呈現多個記錄類型(即,)頁面以多種方式呈現。所以,在課堂上構建HTML有點棘手。此外,該類也在相同的觸發器上下文中。這就是我選擇未來班的原因。無論如何,我改變了設計,通過添加一個按鈕來生成一個簡單的Javascript驗證PDF。 – Vignesh

+0

Btw,Blob.toPDF只允許UTF-8字符。 – Vignesh