Сохраняйте стиль CSS при преобразовании HTML в PDF в ASP.NET
-
03-07-2019 - |
Вопрос
Я использую ITextSharp для преобразования HTML-страницы в PDF.
Однако ITextSharp напрямую печатает CSS в объявлении STYLE, игнорирует таблицы стилей, даже если они добавлены программно, и слушает только некоторые встроенные стили (например, font-size
и color
но нет background-color
).
Есть ли что-то, чего мне не хватает в ITextSharp, или есть лучший (и бесплатный) способ выполнить это преобразование?
Заранее спасибо,
Решение
Посмотрите на WKHTMLTOPDF. Это открытый исходный код, основанный на webkit и бесплатный.
Мы написали небольшое учебное пособие -on-webkit / "rel =" noreferrer "> здесь .
Другие советы
Поддержка HTML/CSS в iText/iTextSharp есть. очень простой.Это просто не тот инструмент для преобразования HTML в PDF.Вместо этого взгляните на эти решения:
- Создайте скриншот страницы с помощью инструмента, похожего на Watin.
- http://blog.taiki.be/index.php/2008/07/generating-screenshots-of-webpages-using-net/
- http://www.codegod.de/WebAppCodeGod/Screenshot-of-Webpage-with-ASP-NET-AID398.aspx
Они преобразуют HTML в изображение.Затем вы можете вставить их в свой PDF с помощью iTextSharp.
В противном случае вы можете попробовать конвертировать HTML -> XSL-FO -> PDF, но если включить CSS, это совсем другое дело.
Попробуйте конвертер PDF Duo .NET. Вы можете обратиться за поддержкой, если вам нужна особая функция.
http://www.duodimension.com/html_pdf_asp.net/downloads /html_pdf_net.zip р>
ABCpdf предоставляет два механизма рендеринга HTML. Один основан на версии MSHTML, установленной в системе. Другой основан на движке рендеринга FireFox Gecko.
Так что для маневра достаточно места, если вам нужен определенный набор функций. Это очень реальный мир.
С точки зрения качества, я бы сказал, что многие люди выбирают ABCpdf после того, как попробуют много разных альтернатив.
Я работаю над программным компонентом ABCpdf .NET, поэтому в моих ответах могут быть концепции, основанные на ABCpdf. Это только то, что я знаю. : -)
Почему бы не использовать онлайн-API?Их много, и они хорошо выполняют свою работу, что позволяет вам беспокоиться о своей основной работе, а не о том, как правильно отобразить PDF-файл :)
Вы упоминаете что-то «бесплатное».Это зависит от вашего использования, но большинство сервисов предлагают для начала бесплатные конверсии в диапазоне от 50 до 250 (и даже больше).Может быть, вам этого будет достаточно?
Все, что вам нужно будет сделать, это простой запрос POST к службе с вашими HTML-данными (или ссылкой), и вы получите в ответ PDF-файл.
Вот список API для преобразования HTML в PDF (не исчерпывающий):
- PDFShift
- HTML2PdfРокет
- Web2PDFConvert
- PDFонлайн
- ...(и многое другое :) )