Загрузка статического содержимого pdf2Html Itext 7 - PullRequest
0 голосов
/ 17 января 2019

Добрый день. Я пытаюсь загрузить статический контент для разговора Html в PDF с помощью дополнения Itext 7 для PdfHTML. На данный момент я просто делаю пример "Привет, мир", следуя примеру примера на их веб-сайте :

Мой код в любом случае не отклоняется от этого. Разница лишь в том, что я настраиваю объект ConverterProperties и добавляю его к вызову.

ConverterProperties converterProperties = new ConverterProperties()
                .setBaseUri("https://randomURIforReelzBro.com/");
        HtmlConverter.convertToPdf(new FileInputStream("src/htmldocs/randomHTMLforReelzBro.html"), new FileOutputStream(dest), converterProperties);

Контент существует в моем vpn, и я могу получить к нему доступ из среды выполнения моей IDE.
Поэтому, если я добавлю полный путь к этому URI в своем браузере, я смогу ясно увидеть его содержимое (в данном случае JPEG). Однако конвертированный PDF не видит его. Я что-то упустил? Предполагается, что это относительный путь в соответствии с документацией на веб-сайте Itext. Должен ли я включать только ту часть пути, которая является общей для всех ресурсов контента, используемых моей html-страницей? Если у вас есть идеи, дайте мне знать. Если я что-нибудь выясню, я напишу свой ответ для всех, кто борется с этой проблемой.

После небольшого количества экспериментов может показаться, что Jar имеет очень случайный ответ на локально размещенный контент. Я думал, что это может быть разница между https и http, но я нашел примеры каждого из них, которые загружались, и примеры других, которые не загружались. Весь контент загружается в браузер (очевидно). Кроме того, установка базового URI, кажется, никак не влияет на результат? Я бы сказал, что это странно. Любые идеи кто-нибудь? Особенно кто-то из команды IText?

1 Ответ

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

После изучения этой проблемы выясняется, что поскольку изображения были в фоновом теге элемента данных таблицы, htmlToPDF даже не обнаружил изображения.
Фоновые изображения в элементах устарели, поэтому я думаю, что Itext 7 ничего с ними не делает.
После переноса изображений в тег стиля в шапке:

<style>
    .blueimage1 {background-image: url("https://randomstaticcontent.screwy/random.gif"); }
    .blueimage2 {background-image: url("https://randomstaticcontent.screwy/randomA1.gif"); }
</style>

iText 7 смог найти статический контент и создать PDF.
Мораль истории: найдите в своем HTML устаревшие теги, прежде чем запускать через IText.

...