Я спросил о том, как заставить iTextSharp отображать PDF-файл из HTML и CSS-лист до здесь, но похоже, что это может быть невозможно ... Так что, думаю, мне придется попробовать что-то еще.
Есть ли библиотека .NET / C# с открытым исходным кодом, которая может принимать HTML а также CSS в качестве входных данных и правильно отображать их?
Я должен повторить ... библиотека ДОЛЖНА быть бесплатной и желательно с довольно либеральной лицензией. Я работаю здесь практически без бюджета.
Почему вы ответили в комментарии?
Поскольку существует так много вопросов, похожих на этот, но не совсем одинаковых, я решил попытаться собрать полный список конвертеров HTML в PDF в вопрос сообщества вики stackoverflow.com/questions/3178448/…
Как мы проголосуем за повторное открытие этого вопроса? @Kev
Этот вопрос не по теме в SO, но по теме в softwarerecs.SE. См. Как преобразовать HTML с помощью CSS в PDF?.





Я всегда использовал его в командной строке, а не как библиотеку, но HTMLDOC дает мне отличные результаты, и он обрабатывает как минимум некоторый CSS (я не мог легко понять, сколько).
Вот пример командной строки
htmldoc --webpage -t pdf --size letter --fontsize 10pt index.html > index.pdf
не могли бы вы объяснить, как использовать эту библиотеку. любой код на C# / VB.net
@Bilal, как сказано в моем ответе, Я всегда использовал его в командной строке, а не как библиотеку.
просто напишите ту строку, которую вы используете для преобразования из HTML в PDF.
@NormanRamsey поддерживает ли он настраиваемые шрифты TTF на основе языка RTL с помощью @fontface?
@mauvm исправил ссылку
Снова разорванная ссылка. : \
Это не открытый исходный код, но вы можете, по крайней мере, получить бесплатную лицензию на личное использование для Принц, которая действительно отлично справляется.
Да, и они ставят свой логотип на выход
Этот ответ следует удалить. Автор вопроса - четко, запрашивающий рендерер с открытым исходным кодом.
Да, дорогая, давайте начнем беспокоиться об ответах семилетней давности на закрытые вопросы.
Хорошо, давайте теперь поговорим о ДЕСЯТИЛЕТНИХ вопросах.
Попробуйте ABCpdf из webSupergoo. Это коммерческое решение, не с открытым исходным кодом, но стандартную версию можно получить бесплатно, и она будет делать то, что вы просите.
ABCpdf полностью поддерживает HTML и CSS, живые формы и живые ссылки. Он также использует основные службы Microsoft XML (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
Не похоже, что стандартная версия больше бесплатна: «Лицензии на ABCpdf .NET всего за 329 долларов».
Бесплатная лицензия предлагается по рекламной схеме. Если он исчезнет, попробуйте поискать в Google «бесплатные лицензии websupergoo». Обратите внимание, что предложение распространяется только на одну лицензию. Если вам необходимо приобрести лицензию или дополнительные лицензии, цена будет такой, как сказал Левитикон.
Да, @AffineMesh, не могли бы вы отредактировать текст выше, сказав, что «стандартную версию можно получить бесплатно». Или просто добавьте дополнительную заметку. Кстати, их лицензия меня несколько сбивает с толку: «Владелец предлагает вам неисключительную, не подлежащую передаче лицензию на условиях настоящего Соглашения». Что это значит - мне все еще нужно его получить?
Этот инструмент командной строки - это бизнес! https://wkhtmltopdf.org/
Он использует движок рендеринга webkit (используемый в Safari и KDE), я тестировал его на некоторых сложных сайтах, и он был намного лучше любого другого инструмента.
Фактически, у него также есть версия библиотеки, и я реализовал для нее .NET-оболочку github.com/gmanny/Pechkin (также на NuGet).
Я попробовал NuGet, и это здорово. Прекрасно работает.
Выдающийся! Я пробовал это против iTextSharp и AsposePDF. Aspose был ужасен для меня, и iTextSharp просто продолжал генерировать исключение за исключением. wkhtmltopdf сработал с первой попытки и все отлично прорисовал.
Приносит ли это стиль и образы?
@AlBelmondo - определенно соблюдает CSS, определенный в блоке заголовка <style>. Существует параметр web.loadImages, который принимает значение true / false, но мне еще не удалось загрузить изображения.
Библиотека tuesPechkin для wkhtmltopdf великолепна и потокобезопасна, однако не может обрабатывать преобразования одновременно - это моя текущая проблема.
Также Rotativa использует wkhtmltopdf под капотом, если я правильно понимаю.
Наша библиотека IronPDF основана на большой работе, проделанной в wkhtmltopdf. CSS полностью поддерживается. IronPDF.com делает процесс добавления функций PDF в проект быстрым и легким.
Вы можете попробовать мою оболочку wkhtmltopdf: https://github.com/pruiz/WkHtmlToXSharp;)
Единственное, о чем я могу думать, это решение на Python: htmltopdf.org: S