簡體   English   中英

在 Salesforce 中呈現為 PDF 的 Visualforce 頁面中未顯示的 HTML 元素

[英]HTML elements not displaying in the Visualforce Page rendered as PDF in Salesforce

在 Salesforce 中:我在 Visualforce 頁面中使用 SVG 標簽打印了一個條碼。 但是,當 Visualforce 頁面使用組件的“renderAs”屬性呈現為 pdf 時,條形碼不會顯示!

 <apex:page renderAs="pdf" sidebar="false" showHeader="false" applyBodyTag="false"> <head> <script src="http://cdn.jsdelivr.net/jsbarcode/3.6.0/JsBarcode.all.min.js"></script> <script></script> </head> <body> <svg id="barcodesvg" >Hello World!</svg> <!-- style="width:80px; height:25px;" --> </body> <script> JsBarcode("#barcodesvg", "Hey World!"); console.log(JsBarcode("#barcodesvg", "Hey World!")); </script> </apex:page>

經過一周的努力。 任何幫助將不勝感激!

Visualforce 的 PDF 渲染使用(或至少習慣於)稱為Flying Saucer 的Java 庫。 沒有這樣的瀏覽器,沒有 JavaScript 引擎來運行您的代碼。

您必須以不同的方式生成條形碼。 尋找能夠預渲染圖像並將其保存為 PNG 附件的 JavaScript 庫,例如,然后在 VF 中使用它。 或者,如果它是一個相對簡單的條形碼,您可以在 Apex 中進行計算並以純 html 顯示它作為一系列黑白<span> s(應該很容易找到語法不太不同的 Java 或 .NET 示例實現來自 Apex ......或者甚至使用 JavaScript 的源代碼作為靈感)。 或者也許調用另一個可以生成圖像的服務器,也許將你自己的https://github.com/zxing/zxing實例放在某個地方(Heroku?)並調用它來獲取圖像。

如果您可以沒有真正的 Visualforce renderAs="pdf"(忘記在電子郵件模板、附件、任何類型的服務器代碼中使用它,例如在 SF 中生成文件並上傳到某處),那么它可以保留 JavaScript。 指導用戶如何將頁面打印為 PDF 或者你可能會幸運地使用https://github.com/MrRio/jsPDF

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM