【问题标题】:iTextSharper with .Net core using iTextSharpLGPLv2.Core [duplicate]带有.Net核心的iTextSharper使用iTextSharpLGPLv2.Core [重复]
【发布时间】:2018-05-21 13:38:18
【问题描述】:

我正在尝试使用 iTextSharpLGPLv2.Core nuget 库将 HTML 文档转换为 PDF。

我面临的问题是 HTMLWorker 不再支持 iTextSharper。

下面是我的代码。

StringReader sr = new StringReader(sb.ToString());            
    Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);

        HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
        using (MemoryStream memoryStream = new MemoryStream())
        {
        PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
        pdfDoc.Open();

        htmlparser.Parse(sr);
        pdfDoc.Close();

        byte[] bytes = memoryStream.ToArray();
        memoryStream.Close();



            FileStream fs = new FileStream(@"d:\REPORT.pdf", FileMode.OpenOrCreate);
            fs.Write(pdfBytes, 0, pdfBytes.Length);
            fs.Close();
        }

.Net 核心的 iTextSharper 的任何替代品? 或任何其他方法来解决此问题?

【问题讨论】:

  • 如果您阅读问题Converting HTML to PDF using iText,您将大致了解HTMLWorker 的缺陷,这些缺陷已在 XML Worker 中得到修复,以及为什么 XML Worker 被放弃而支持 iText 7 和 pdfHTML 附加组件。这个问题解释了为什么你的问题不能用你正在使用的 非官方 iText 分支 来解决,而最近版本的 真正的官方 iText 是最好的选择用于将 HTML 转换为 PDF。

标签: c# asp.net-web-api .net-core itext


【解决方案1】:

请注意,不允许请人推荐工具 或 Stack Overflow 上的库。您的问题有被关闭的风险 因为这个原因跑题了。

您的问题还有另一个问题:没有 iTextSharper 这样的东西。我创建了 iText 库(用 Java 编写),并在 2000 年发布了该 PDF 库的 0.30 版。几年后创建了 C# 版本。它最初被称为 iTextSharp不是 iTextSharper!)。但是,在尝试为这些名称注册商标时,我们获得了 iTextⓇ 这个名称的商标,但一家名为 Sharp 的公司不希望我们继续使用 iTextSharp 这个名称。因此,我们将名称 iTextSharp 更改为 iText for .NET。

今天,我们有 iText for JavaiText for .NET。我们不再谈论 iTextSharp,你也不应该。我也不明白为什么人们谈论 iTextSharper。 iText 是商标名称;应该没有混淆。

有几个人对 iText 进行了分叉,而 iTextSharpLGPLv2.Core 就是其中之一。使用这种分叉的人(比如你)通常是这样一个事实的受害者,即创建分叉的人经常高估自己并低估维护软件库的工作量。我的建议?如果原始项目仍在积极维护中,请远离分叉。只有当原始项目所有者放弃了他们的项目时,分叉才有用。

长话短说:你应该使用真实的东西,而不是复制品或叉子。

如果要将 HTML 转换为 PDF,可以使用 iText 7pdfHTML add-on。请访问官方网站,您会找到HTML to PDF tutorial。本教程中的所有示例都是用 Java 编写的,但 .NET 开发人员很容易将这些示例转换为 C#。主要是将小写字母开头的方法改成大写字母开头的同名方法。

重要提示:我是 iText PDF 库的原始开发者和 iText 公司的创始人。

【讨论】:

  • 非常感谢@Bruno Lowagie,我会浏览网站 iText。
猜你喜欢
  • 1970-01-01
  • 2019-01-15
  • 2020-09-09
  • 1970-01-01
  • 1970-01-01
  • 2019-04-02
  • 1970-01-01
  • 2021-02-25
  • 2018-09-07
相关资源
最近更新 更多