我想使用iTextSharp将HTML文件转换为PDF。我使用this code。iTextSharp用于将HTML转换为PDF的替代品
我那么做了以下将其转换为PDF格式:
HTMLWorker htmlWorker = new HTMLWorker(document);
htmlWorker.Parse(new StringReader(results));
document.Close();
然而,没有任何CSS的解析。任何替代品?
我想使用iTextSharp将HTML文件转换为PDF。我使用this code。iTextSharp用于将HTML转换为PDF的替代品
我那么做了以下将其转换为PDF格式:
HTMLWorker htmlWorker = new HTMLWorker(document);
htmlWorker.Parse(new StringReader(results));
document.Close();
然而,没有任何CSS的解析。任何替代品?
18个月前,我们彻底地测试了大多数可用的html-to-pdf转换器(付费和免费)。最后,这个传统的最好的 html-to-pdf转换器是一个免费的开源程序,名为wkhtmltopdf。
它是命令行驱动的,使用webkit渲染引擎,准确地(并且更重要的是,一致地)将网页转换成美观的pdf文件。它还具有各种有用的命令行开关,为您提供完整的页眉/页脚控制,可选地创建目录页面,并且运行速度非常快。而且 - 由于它是命令行驱动的,因此它可以很容易地用于批生成。你根本不会出错。
作为一个旁注,这个程序还有一个名为wkhtmltoimage的姊妹程序(捆绑在下载中),其工作方式完全相同,但将网页转换为各种图像格式。这也非常有用,我们使用此功能在构建作业提案时拍摄我们基于Web的工具的快照。
我知道我听起来像一个总迷人的男孩,但我不是。我只是一个对那里所有的垃圾邮件转换器感到厌倦的人,当我们发现wkhtmltopdf时,我被加倍地吹走了。我根本无法推荐这个小程序。
就替代方案而言,我只能推荐ABCpdf,我们已成功地使用它来将大量HTML文档转换为PDF,作为我们的Web应用程序的一部分。
它不会自动加载它。您需要按照以下方式手动完成。
StyleSheet ss = new StyleSheet();
ss.LoadStyle("body", "leading", "16,0");
ss.LoadStyle("p", "style", "font-family:Times New Roman");
然后使用
List<IElement> htmlToPDF = HTMLWorker.ParseToList(new StringReader("<font face=\"Times\">" + html + "</font>"), style);
foreach (IElement element in htmlToPDF) {
document.Add(element);
}
然而,只有一些样式iTextSharp的不是所有的人工作。
其实你应该试试XMLWorker,这是itextsharp的一个插件。它刚刚在本月发布。它可以比仅使用itextsharp更好地处理html。
我认为wkhtmltopdf项目看起来不错,但我不知道它是否会与我们的生产环境打得很好,因为web应用程序是多线程程序。
更晚的时候再也不会,但是这里有一个很好的例子来说明如何去做,也解释了什么是可能的,哪些不是:http://www.thiscouldbeuseful.com/2012/04/itextsharp-to-rescue-converting-html-to.html。
我更喜欢iTextSharp,因为它提供了最多的功能。
你试过了什么?该问题中的代码是检索HTML页面,而不是将任何内容转换为PDF。 – Amy 2011-12-23 08:14:43
道歉,编辑了问题 – user1016313 2011-12-23 08:30:38
“HTMLWorker”已弃用。请尝试使用它们的“XMLWorker”。 – VahidN 2014-01-09 07:58:02