63

在此之前,我曾询问过让 iTextSharp 从 HTML 和 CSS 表呈现 PDF,但似乎这可能是不可能的……所以我想我将不得不尝试其他方法。

是否有可以将 HTMLCSS 作为输入并正确呈现的开源 .NET/C# 库?

我必须重申......图书馆必须是免费的,最好是具有相当自由许可证的东西。我在这里工作基本上没有预算。

4

6 回答 6

41

这个命令行工具就是生意! https://wkhtmltopdf.org/

它使用 webkit 渲染引擎(用于 safari 和 KDE),我在一些复杂的网站上对其进行了测试,它比任何其他工具都要好得多。

于 2010-09-30T19:17:39.800 回答
17

我一直在命令行上使用它而不是作为库使用它,但是HTMLDOC给了我很好的结果,它至少可以处理一些CSS(我看不出有多少)。

这是一个示例命令行

htmldoc --webpage -t pdf --size letter --fontsize 10pt index.html > index.pdf
于 2009-01-10T05:11:55.060 回答
2

你有看到 :

它们看起来像 PrinceXML

于 2010-01-25T19:12:09.430 回答
0

你可以试试我的 wkhtmltopdf 包装器:https ://github.com/pruiz/WkHtmlToXSharp ;)

于 2012-10-05T13:25:12.020 回答
-3

它不是开源的,但您至少可以获得Prince的免费个人使用许可证,这确实做得很好。

于 2009-01-10T06:35:14.890 回答
-3

试试 webSupergoo 的 ABCpdf。这是一个商业解决方案,不是开源的,但标准版可以免费获得,并且会按照您的要求做。

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

于 2010-04-27T06:04:16.417 回答