在ASP.NET中将HTML转换为PDF时保持CSS样式

时间:2009-01-06 05:07:52

标签: css asp.net itext pdf-generation

我正在使用ITextSharp将HTML页面转换为PDF。

然而,ITextSharp直接在STYLE声明中打印CSS,即使以编程方式添加样式并且仅侦听某些内联样式(例如font-sizecolor但不是background-color),也会忽略样式表

ITextSharp是否缺少某些内容,或者有更好(免费)的方式进行此转换?

提前致谢,

5 个答案:

答案 0 :(得分:7)

iText / iTextSharp中的HTML / CSS支持为very basic。它不是将html转换为pdf的正确工具。 请改为查看这些解决方案:

这些将html渲染为图像。然后,您可以使用iTextSharp将它们插入PDF中。

否则您可以尝试转换HTML - > XSL-FO - > PDF,但包括CSS还有另外一件事。

答案 1 :(得分:5)

看看WKHTMLTOPDF。它是开源的,基于webkit和免费。

我们写了一个小教程here

答案 2 :(得分:1)

试用PDF Duo .NET转换器。如果您需要特殊功能,可以申请支持。

http://www.duodimension.com/html_pdf_asp.net/downloads/html_pdf_net.zip

答案 3 :(得分:0)

ABCpdf提供了两个HTML呈现引擎。一个是基于系统上安装的MSHTML版本。另一个基于FireFox Gecko渲染引擎。

如果你想要一套特殊的功能,那么就有足够的空间供你使用。这是非常真实的世界。

就质量而言,我只想说,在尝试了很多不同的选择之后,我们确实让很多人接受了ABCpdf。

我在ABCpdf .NET软件组件上工作,所以我的回复可能包含基于ABCpdf的概念。这就是我所知道的。 : - )

答案 4 :(得分:0)

为什么不使用在线API?有很多可用的,他们做得很好,让你担心你的核心工作,而不是如何正确渲染PDF:)

你提到“免费”的东西。这取决于您的使用情况,但大多数服务提供免费转换,范围从50到250(甚至更多)。也许这对你来说已经足够了?

然后您需要做的就是使用您的HTML数据(或链接)向服务发出基本的POST请求,并且您将收到PDF作为回应。

以下是将HTML转换为PDF(非详尽无遗)的API列表: