Open Source HTML to PDF Renderer с полной поддержкой CSS [закрыто]
Я спросил о получении iTextSharp для рендеринга PDF из HTML и CSS-листа до этого, но похоже, что это может быть невозможно... Так что я думаю, мне придется попробовать что-то другое.
есть ли библиотека .NET/C# с открытым исходным кодом, которая может принимать HTML и CSS как вход и правильно его визуализировать?
Я должен повторить... библиотека должна быть бесплатной и желательно что-то с довольно либеральной лицензией. Я работаю с в принципе нет бюджета.
7 ответов:
Я всегда использовал его в командной строке, а не в качестве библиотеки, но HTMLDOC дает мне отличные результаты, и он обрабатывает не менее некоторые CSS (я не мог легко увидеть, сколько).
вот пример командной строки
htmldoc --webpage -t pdf --size letter --fontsize 10pt index.html > index.pdf
командная строка-это бизнес! https://wkhtmltopdf.org/
Он использует движок рендеринга webkit (используется в safari и KDE), я тестировал его на некоторых сложных сайтах, и это было намного лучше, чем любой другой инструмент.
вы можете попробовать мою обертку wkhtmltopdf:https://github.com/pruiz/WkHtmlToXSharp ;)
Это не с открытым исходным кодом, но вы можете по крайней мере получить бесплатную персональную лицензию на использование князь действительно прекрасная работа.
попробуйте 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/source/5-abcpdf6/doc/1-methods/addimagetochain.htm