【发布时间】:2016-08-09 23:15:47
【问题描述】:
我使用 itextsharp dll(v5.5.9.0) 在 Asp.net Mvc 中从 Html 生成 PDF。在此,我使用了一个类HTMLWorker。我得到一个符合我要求的结果。现在工作正常。但它显示为[deprecated]。将来,它会工作/支持吗? (或者我可以转到 xmlworker 吗?)
【问题讨论】:
标签: itext
我使用 itextsharp dll(v5.5.9.0) 在 Asp.net Mvc 中从 Html 生成 PDF。在此,我使用了一个类HTMLWorker。我得到一个符合我要求的结果。现在工作正常。但它显示为[deprecated]。将来,它会工作/支持吗? (或者我可以转到 xmlworker 吗?)
【问题讨论】:
标签: itext
HTMLWorker 类已弃用。它最初是作为解析小型 HTML sn-ps 的个人项目开始的。它是在没有明确设计的情况下编写的。它需要在一个特定项目中为个人的目的服务。
但是,它以某种方式进入了主版本,人们开始将它用于它不是为之目的而构建的。人们抱怨错误,却不知道HTMLWorker 从来没有打算做任何繁重的工作。
其他开发人员开始改进HTMLWorker,但很快就遇到了有缺陷的设计(以及意大利面条代码)的局限性。
XML worker 是一个由 iText Group 支付费用的开发人员完成的项目。它用于不同的项目。它并不是一个 URL2PDF 工具,因为它不能将复杂的网页转换为 PDF,但它允许您使用直接的 HTML 和 CSS 创建模板,填充这些模板,并将它们转换为 PDF .
XML Worker 受到 iText 最初不打算呈现 HTML 的事实的困扰。例如:在 iText 5(和以前的版本)中,字体、颜色等属性不会被继承。这些缺陷已在 iText 7 中得到修复。XML Worker 尚未移植到 iText 7,但它是我们技术路线图中的下一个。
总结:您不应该使用HTMLWorker。以后不支持了。
【讨论】:
HTMLWorker List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StringReader(page), null);?