Средство рендеринга HTML в PDF с открытым исходным кодом и полной поддержкой CSS [закрыто]
-
08-07-2019 - |
Вопрос
Я спрашивал о том, как заставить iTextSharp отображать PDF-файл из HTML и CSS-листа, прежде чем здесь но, похоже, это может оказаться невозможным...Так что, думаю, мне придется попробовать что-нибудь еще.
Существует ли библиотека .NET / C # с открытым исходным кодом, которая может принимать HTML и CSS в качестве входных данных и правильно ли его отображать?
Я должен повторить еще раз...библиотека ДОЛЖНА быть бесплатной и желательно с достаточно либеральной лицензией.Я работаю здесь практически без бюджета.
Решение
Я всегда использовал его в командной строке, а не как библиотеку, но HTMLDOC дает мне отличные результаты и обрабатывает, по крайней мере, некоторые CSS (я не мог легко понять, сколько).
Вот пример командной строки
htmldoc --webpage -t pdf --size letter --fontsize 10pt index.html > index.pdf
Другие советы
Этот инструмент командной строки - бизнес! https://wkhtmltopdf.org/
Он использует движок рендеринга webkit (используется в сафари и KDE), я тестировал его на некоторых сложных сайтах, и он был намного лучше, чем любой другой инструмент. Р>
Ты видишь :
Они выглядят как PrinceXML
Вы можете попробовать мою оболочку wkhtmltopdf: https://github.com/pruiz/WkHtmlToXSharp ;) р>
Это не открытый исходный код, но вы можете, по крайней мере, получить бесплатную лицензию на личное использование Prince , которая действительно прекрасная работа.
Попробуйте ABCpdf от webSupergoo. Это коммерческое решение, а не с открытым исходным кодом, но стандартная версия может быть получена бесплатно и будет делать то, что вы просите.
ABCpdf полностью поддерживает HTML и CSS, живые формы и живые ссылки. Он также использует Microsoft XML Core Services (MSXML) при рендеринге, поэтому результаты должны точно соответствовать тому, что вы видите в Internet Explorer.
Он-лайн демонстрация может использоваться для проверки рендеринга HTML в PDF без необходимости установки какого-либо программного обеспечения. См .: http://www.abcpdfeditor.com/
В следующем примере кода C # показано, как отобразить одностраничный HTML-документ.
Doc theDoc = new Doc();
theDoc.AddImageUrl("http://www.example.com/");
theDoc.Save("htmlimport.pdf");
theDoc.Clear();
Для рендеринга нескольких страниц вам понадобится функция AddImageToChain, описанная здесь: http://www.websupergoo.com/ helppdf7net / источник / 5-abcpdf6 / DOC / 1-метода / addimagetochain.htm р>
Уже несколько лет мы используем html2pdf для создания PDF-документов высокого стиля с пользовательскими шрифтами. Это немного сложно настроить, но как только это произойдет, это прекрасно работает ... и это бесплатно.