在此之前,我曾询问过让 iTextSharp 从 HTML 和 CSS 表呈现 PDF,但似乎这可能是不可能的……所以我想我将不得不尝试其他方法。
是否有可以将 HTML和CSS 作为输入并正确呈现的开源 .NET/C# 库?
我必须重申......图书馆必须是免费的,最好是具有相当自由许可证的东西。我在这里工作基本上没有预算。
这个命令行工具就是生意! https://wkhtmltopdf.org/
它使用 webkit 渲染引擎(用于 safari 和 KDE),我在一些复杂的网站上对其进行了测试,它比任何其他工具都要好得多。
我一直在命令行上使用它而不是作为库使用它,但是HTMLDOC给了我很好的结果,它至少可以处理一些CSS(我看不出有多少)。
这是一个示例命令行
htmldoc --webpage -t pdf --size letter --fontsize 10pt index.html > index.pdf
你可以试试我的 wkhtmltopdf 包装器:https ://github.com/pruiz/WkHtmlToXSharp ;)
它不是开源的,但您至少可以获得Prince的免费个人使用许可证,这确实做得很好。
试试 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