2012-09-20 29 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