C# 用于将HTML转换为PDF的iTextSharp替代方案

C# 用于将HTML转换为PDF的iTextSharp替代方案,c#,html,pdf,itextsharp,C#,Html,Pdf,Itextsharp,我想使用将HTML文件转换为PDF 我用过 然后,我执行了以下操作将其转换为pdf: HTMLWorker htmlWorker = new HTMLWorker(document); htmlWorker.Parse(new StringReader(results)); document.Close(); 但是,没有一个CSS被解析。有替代方案吗?关于替代方案,我只能推荐,我们正在成功地将大量HTML文档转换为PDF,作为我们的web应用程序的一部分。它不会自动加载。您需要按照以下步骤手动

我想使用将HTML文件转换为PDF

我用过

然后,我执行了以下操作将其转换为pdf:

HTMLWorker htmlWorker = new HTMLWorker(document);
htmlWorker.Parse(new StringReader(results));
document.Close();

但是,没有一个CSS被解析。有替代方案吗?

关于替代方案,我只能推荐,我们正在成功地将大量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);
  }
但是,只有一些样式在ITE中有效,而不是所有样式

实际上你应该试试,一个itextsharp的插件。本月刚刚发布。它可以比只使用itextsharp更好地处理html


我认为wkhtmltopdf项目看起来也不错,但我不知道它是否能在我们的生产环境中发挥作用,因为web应用程序是多线程程序。

18个月前,我们对大部分html到pdf转换器进行了详尽的测试,这些转换器都是免费和付费的。最终,一个免费的开源程序叫做html-to-pdf转换器

它是命令行驱动的,使用webkit渲染引擎,并且准确且更重要的是,始终将网页转换为美观的pdf。它还具有各种有用的命令行开关,为您提供完整的页眉/页脚控制,可以选择创建目录页,并且运行速度非常非常快。而且-因为它是命令行驱动的,所以它还有一个额外的优点,就是可以轻松地用于批处理生成。你根本不会出错

作为旁注,该程序还有一个姐妹程序捆绑在下载中,名为wkhtmltoimage,其工作方式完全相同,但可以将网页转换为多种图像格式。这也非常有用,我们使用此功能在构建工作建议时拍摄基于web的工具的快照


我知道我听起来像个十足的粉丝,但我不是。我只是一个对所有的牛头t转换器感到厌倦的人,当我们发现wkhtmltopdf时,我倍感震惊。我对这个小程序的推荐远远不够。

迟做总比不做好,但这里有一个很好的例子说明了如何做,也解释了什么是可能的,什么是不可能的:


我更喜欢iTextSharp,因为在我看来它提供了最多的功能。

您尝试过什么?该问题中的代码是检索HTML页面,而不是将任何内容转换为PDF。抱歉,已编辑的问题HtmlWorker已被弃用。请尝试他们的XMLWorker.webkit呈现引擎?那么firefox和IE用户呢?用户在他们的机器上安装了什么web浏览器并不重要——只要页面是用语义正确的html编码的,pdf就可以了。哇!听起来不错!唯一的问题是,wkhtmltopdf必须在单独的进程中运行,这意味着您在尝试渲染视图时会丢失会话信息。。。否则就是一个好工具