Как загрузить внешнее изображение при преобразовании HTML в PDF из abcpdf

Мы используем abcpdf (лицензионная версия) для преобразования html в pdf. Функция, которую мы используем, это - AddImageHtml Мы передаем html в строковой форме этой функции как

"<html>
<body>
    <img id="imgTest" src="../testImage.png"/>
</body>
</html>"

Это изображение присутствует на пути, но изображение не загружается. Мы также попробовали абсолютный путь для этого, поскольку

 "<html>
    <body>
        <img id="imgTest" src="http://www.example.com/testImage.png"/>
    </body>
    </html>"

Не могли бы вы помочь, если мы где-то ошибаемся, или любая реф-ссылка будет большим подспорьем. Огромное спасибо заранее!


person Oxygen    schedule 26.02.2015    source источник


Ответы (1)


addImageHtml предназначен только для отображения статического HTML и не очень хорошо извлекает внешние ресурсы.

Мы обходим это, изменяя все внешние ресурсы внутри строки HTML. Для изображений это обрабатывается с помощью Base64, кодирующего двоичные данные и включающего их вместо пути к изображению.

Подробнее см. здесь: http://en.m.wikipedia.org/wiki/Data_URI_scheme

Но в основном просто включите его в атрибут SRC.

Вы можете легко создать процессор, который анализирует документ в поисках тегов изображения, извлекает их в веб-запросе и при необходимости встраивает.

person Tim    schedule 26.02.2015