Как мне конвертировать HTML5 / CSS3 документ в PDF? - PullRequest
12 голосов
/ 26 октября 2010

В настоящее время мы создаем отчеты для нашего веб-приложения с использованием html5 / css3, и они хорошо выглядят на экране, но, очевидно, когда пользователь нажимает на печать, кто знает, что из принтера выйдет.Итак, я хотел бы знать, каков наилучший способ преобразования этих отчетов в PDF для загрузки / печати при сохранении того же визуального качества экранных отчетов.

Обновление 2010-10-26 16: 01: Мы используем .NET и Perl

Ответы [ 6 ]

6 голосов
/ 04 ноября 2010

Единственное, что я могу думать о том, что может работа - wkHTMLtoPDF . Это приложение QT, которое находится поверх WebKit для создания PDF.

Хорошей новостью является то, что он даже оценивает JS, так что практически все идет.

Плохая новость (для вас) в том, что он использует QT, который является оконным механизмом X11. Учитывая, что вы используете .NET, я предполагаю, что вы магазин Windows, что означает дополнительные головные боли установщика.

2 голосов
/ 28 октября 2010

Попробуйте Prince XML , на результаты приятно смотреть.

1 голос
/ 12 августа 2017

Существует модуль узла html5-to-pdf , который работает довольно хорошо.

Бесплатный и открытый исходный код.

Он работает на Электрон. Есть некоторые ошибки (например, теги привязки отображают гиперссылку), но это может быть легко исправить.

1 голос
/ 18 ноября 2014

ExpertPdf ( www.html-to-pdf.net ) поддерживает html5 / css3.

Вы можете попробовать демо-версию здесь: http://www.html -to-pdf.net / free-online-pdf-converter.aspx

1 голос
/ 27 октября 2010

Некоторые опции (все проприетарные):

Альтернативы с открытым исходным кодом см. Здесь:

Рендерер с открытым исходным кодом HTML в PDF с полной поддержкой CSS

1 голос
/ 27 октября 2010

Если вы используете некоторые из новых элементов HTML5, например Canvas, то, вероятно, даже популярный конвертер PDF вам не поможет.

Я предлагаю вам поставить подходящую для CSS версию для печати.Этого можно достичь, используя атрибут media="print" в теге <link rel="stylesheet"... отдельного файла CSS, который содержит определения для версии для печати. ​​

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