Использование iText для конвертации HTML в PDF - PullRequest
41 голосов
/ 25 октября 2008

Кто-нибудь знает, возможно ли преобразовать HTML-страницу (URL) в PDF с помощью iText?

Если ответ «нет», то это тоже нормально, так как я перестану тратить свое время, пытаясь его решить, и просто потрачу немного денег на один из нескольких компонентов, которые, я знаю, могут:

Заранее спасибо за ваши ответы!

Ответы [ 7 ]

29 голосов
/ 08 июля 2009

Я думаю, это именно то, что вы искали

http://today.java.net/pub/a/today/2007/06/26/generating-pdfs-with-flying-saucer-and-itext.html

http://code.google.com/p/flying-saucer

Основной целью Flying Saucer является отображение спецификации XHTML и CSS 2.1 на экране в качестве компонента Swing. Хотя изначально он был предназначен для встраивания разметки в настольные приложения (например, iTunes Music Store), Flying Saucer также расширила работу с iText. Это упрощает рендеринг XHTML в PDF-файлы, а также в изображения и на экран. Летающая тарелка требует Java 1.4 или выше.

6 голосов
/ 22 ноября 2008

В итоге я использовал ABCPdf от webSupergoo. Он работает очень хорошо и примерно за 350 долларов сэкономил мне часы и часы, основываясь на ваших комментариях выше. Еще раз спасибо Дэниел и Братч за ваши комментарии.

3 голосов
/ 04 сентября 2017

Самый простой способ сделать это - использовать pdfHTML. Это дополнение к iText7, которое преобразует HTML5 (+ CSS3) в синтаксис pdf.

Код довольно прост:

    HtmlConverter.convertToPdf(
        "<b>This text should be written in bold.</b>",       // html to be converted
        new PdfWriter(
            new File("C://users/mark/documents/output.pdf")  // destination file
        )
    );

Чтобы узнать больше, перейдите на http://itextpdf.com/itext7/pdfHTML

1 голос
/ 15 августа 2012

Ответ на ваш вопрос на самом деле двоякий. Прежде всего вам необходимо указать, что вы собираетесь делать с отображаемым HTML-кодом: сохранить его в новом PDF-файле или использовать в другом контексте рендеринга (то есть добавить его в какой-то другой документ, который вы генерируете).

Первое сравнительно легко достигается с помощью платформы Flying Saucer, которую можно найти здесь: https://github.com/flyingsaucerproject/flyingsaucer

Последняя на самом деле является гораздо более всеобъемлющей проблемой, которую необходимо классифицировать дальше. Используя iText, вы не сможете (по крайней мере, тривиально) объединить элементы iText (т.е. Paragraph, Phrase, Chunk и т. Д.) С сгенерированным HTML. Вы можете выйти из этого, используя метод ContentByte s addTemplate и сгенерировав HTML для этого шаблона.

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

Итак, суть: вы не можете легко интегрировать визуализированный HTML в другие контексты создания PDF, но вы можете визуализировать HTML непосредственно в пустой документ PDF.

0 голосов
/ 09 августа 2012

Использование HTMLWorker iText

* ** 1003 тысяча два * Пример
0 голосов
/ 22 декабря 2008

Может быть, вы могли бы попробовать:

http://www.allcolor.org/YaHPConverter/

0 голосов
/ 05 декабря 2008

Когда мне понадобилось преобразование HTML в PDF в начале этого года, я попробовал пробную версию Winnovative HTML в PDF Converter (я думаю, что ExpertPDF - тоже продукт). Это работало отлично, поэтому мы купили лицензию в этой компании. Я не буду вдаваться в подробности после этого.

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