HTML элементов, не отображаемых на странице Visualforce, отображаемой в формате PDF в Salesforce - PullRequest
0 голосов
/ 24 января 2020

В Salesforce: я напечатал штрих-код, используя тег SVG на странице Visualforce. Но когда страница Visualforce отображается в формате PDF с использованием атрибута renderAs компонента, штрих-код не отображается!

<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>

Работал над этим неделю. Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 24 января 2020

Визуализация Visualforce в PDF использует (или, по крайней мере, раньше) Java библиотека называется Летающая тарелка . Там нет браузера как такового, нет JavaScript движка для запуска вашего кода.

Вам придется генерировать штрих-код другим способом. Ищите JavaScript библиотек, способных предварительно визуализировать ваше изображение и сохранить его как PNG-приложение, например, затем использовать его в 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...