首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将HTML转换为iTextSharp的替代方案

将HTML转换为iTextSharp的替代方案
EN

Stack Overflow用户
提问于 2011-12-23 16:12:48
回答 4查看 9.8K关注 0票数 0

我想转换一个超文本标记语言文件到PDF使用iTextSharp

我使用了this code

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

代码语言:javascript
代码运行次数:0
运行
复制
HTMLWorker htmlWorker = new HTMLWorker(document);
htmlWorker.Parse(new StringReader(results));
document.Close();

但是,任何CSS都不会被解析。有其他选择吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-28 11:34:56

18个月前,我们详尽地测试了大多数可用的html-to-pdf转换器(付费和免费)。最后,最好的html-to-pdf转换器是一个叫做的免费开源程序。

它是命令行驱动的,使用webkit渲染引擎,准确(更重要的是,始终如一地)将网页转换成漂亮的pdf格式。它还具有各种有用的命令行开关,给你完整的页眉/页脚控制,可选择创建目录页面,并且运行非常非常快。而且--因为它是命令行驱动的,所以它有一个额外的好处,可以方便地用于批处理生成。你就是不会出错。

顺便提一句,这个程序还有一个姊妹程序(捆绑在下载中)叫做wkhtmltoimage,它的工作方式与此完全相同,但它可以将网页转换为各种图像格式。这也是非常有用的,我们使用这个功能在构建工作提案时拍摄基于web的工具的快照。

我知道我听起来像个粉丝,但我不是。我就是这样一个人,我对外面的那些垃圾转换者感到厌倦,以至于当我们找到wkhtmltopdf时,我都被深深地震撼了。我完全不能推荐这个小程序。

票数 13
EN

Stack Overflow用户

发布于 2011-12-23 16:17:44

至于替代方案,我只能推荐ABCpdf,作为我们的web应用程序的一部分,我们已经成功地使用它将大量的HTML文档转换成PDF。

票数 2
EN

Stack Overflow用户

发布于 2011-12-28 11:21:32

它不会自动加载它。您需要手动完成,如下所示。

代码语言:javascript
代码运行次数:0
运行
复制
 StyleSheet ss = new StyleSheet();
 ss.LoadStyle("body", "leading", "16,0");
 ss.LoadStyle("p", "style", "font-family:Times New Roman");

然后你可以使用

代码语言:javascript
代码运行次数:0
运行
复制
List<IElement> htmlToPDF = HTMLWorker.ParseToList(new StringReader("<font face=\"Times\">" + html + "</font>"), style);

foreach (IElement element in htmlToPDF ) {
    document.Add(element);
  }

然而,只有一些样式可以在其中工作,而不是所有样式。

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8613658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档