我正在使用 ITextSharp 将 HTML 页面转换为 PDF。
但是,ITextSharp 会直接打印 STYLE 声明中的 CSS,即使以编程方式添加也会忽略样式表,并且仅侦听某些内联样式(例如font-size
and color
but not background-color
)。
ITextSharp 是否缺少某些东西,或者是否有更好(且免费)的方式来进行此转换?
提前致谢,
我正在使用 ITextSharp 将 HTML 页面转换为 PDF。
但是,ITextSharp 会直接打印 STYLE 声明中的 CSS,即使以编程方式添加也会忽略样式表,并且仅侦听某些内联样式(例如font-size
and color
but not background-color
)。
ITextSharp 是否缺少某些东西,或者是否有更好(且免费)的方式来进行此转换?
提前致谢,
iText/iTextSharp 中的 HTML/CSS 支持非常基础。这不是将 html 转换为 pdf 的正确工具。请查看以下解决方案:
这些将 html 呈现为图像。然后您可以使用 iTextSharp 将它们插入您的 PDF 中。
否则,您可以尝试转换 HTML -> XSL-FO -> PDF,但包括 CSS 则完全是另一回事。
看看 WKHTMLTOPDF。它是开源的,基于 webkit 并且是免费的。
我们在这里写了一个小教程。
试试 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(甚至更多)。也许这对你来说就足够了吗?
然后,您所要做的就是使用您的 HTML 数据(或链接)向服务发出基本的 POST 请求,然后您将获得一个 PDF 作为响应。
以下是用于将 HTML 转换为 PDF 的 API 列表(并非详尽无遗):