产品比较

使用 Byte 数组创建 PDF C# iTextSharp(与 IronPDF相比)

发布 2023年五月30日
分享:

1.0 引言

Adobe 开发便携式文档格式是为了方便共享基于文本和图像的文档 (PDF).要查看 PDF 图像文件,必须使用不同的应用程序。在当今文化中,许多企业使用 PDF 文档来完成各种任务,包括准备发票和其他文书工作。

开发人员也使用现有的 PDF 文件格式来制作符合客户规格的文档或图像文件。幸运的是,简化流程的库使 PDF 的制作比以往更加简单。在为您的项目选择库时,请考虑构建、读取和转换功能等因素,以便选择最好的库。

在本篇文章中,我们将比较两个使用最广泛的 Dot NET PDF 库。它们是

在 Microsoft.NET 应用程序或项目中,您可以使用 IronPDF 或 iText PDF 库创建、读取和修改 PDF。我们将首先了解这两个库的功能,而不是直接讨论整体性能、转换和处理 PDF 的费用,以便确定哪个库更适合您的应用程序。Microsoft.NET Frameworks 支持这两个库。此外,我们还将记录每个库的持续时间,以供参考和日后研究。要了解比较结果,请点击 这里.

2.图书馆特色

2.1 iText PDF 功能

可将文本转换为 PDF 文件的 Java 库和系统名为 iText PDF。Text 遵循 AGPL 软件许可模式。AGPL 软件许可证是免费和开源的。

  • 可通过 iText 库使用 API 生成 PDF 文件。
  • 使用 iText 程序的变量阅读器,可将 HTML 和 XML 字符串解析为 PDF 文件。
  • 我们可以使用 iText 库在 PDF 文档中添加书签、页码和标记。
  • 我们可以使用 iText 库将 PDF 文件分割成多个 PDF 文件,或将多个 PDF 文件合并成一个 PDF 文件。
  • 我们可以使用 iText 编辑 PDF 中的表格。
  • 使用 PNG、JPEG 和其他图像格式的图像,iText 还能制作 PDF。
  • iText 库提供了 Canvas 类,可用于在已有文本上绘制不同的几何图形。
  • 在 PDF 文档中,iText 提供了一个可以添加和编辑字体和图像的工具。

2.2 IronPDF 功能

在强大的 PDF .NET 库 IronPDF 的帮助下,开发人员可以快速生成、读取和更改 PDF 文件。IronPDF 以 Chrome 引擎为核心,提供了大量实用而强大的功能,包括将 HTML5、JavaScript、CSS 和图片文件转换为 PDF,添加独特的页眉和页脚,以及生成与网页浏览器中显示完全一致的 PDF。IronPDF 支持各种 Web 和 .NET 格式,包括 HTML、ASPX、Razor View 和 MVC。IronPDF 的主要属性如下:

  • 在 Dot NET C# 程序中轻松创建、阅读和编辑 PDF 文件。
  • 通过网站 URL 链接创建 PDF,该 URL 链接具有用户代理、代理、Cookie、HTTP 头信息和表单变量设置,支持使用 HTML 登录表单进行登录。
  • 从已存在的 PDF 出版物中删除照片。
  • 在 PDF 文件中添加文本、照片、书签、水印和其他元素。
  • 简单合并和分割多个 PDF 文档页面的功能。
  • 能将媒体类型的资产(包括 CSS 文件)转化为文档。

3.0 安装图书馆

3.1 安装 iText7

iText7 和 iText.pdfhtml 必须同时安装,因为这些软件包的功能分散在多个软件包中。

从字节数组创建 PDF C# iTextSharp(与 IronPDF 对比) 图 1 - iText7

如果您喜欢使用 Visual Studio Command-Line,请安装以下软件包:

Install-Package itext7 && Install-Package itext7.pdfhtml

由于 iText7 是最新版本,我们在解决方案中使用了它。

3.2 安装 IronPDF 库

如下图所示,我们可以在软件包管理器中轻松搜索 "IronPDF":

从字节数组创建 PDF C# iTextSharp(与 IronPDF 的比较) 图 2 - IronPDF

相关搜索结果列表显示在上图中。要在机器上安装软件包,请选中必要的复选框。

如果要使用命令行安装软件包,请在软件包管理器的终端选项卡中添加以下一行:

:PackageInstall

现在软件包已准备就绪,将下载并安装到当前项目中。

4.0 PDF 创建

4.1 使用 iTextSharp

我们可以使用从 iText 文档 doc 生成的公共静态字节数组创建 PDF 文档。下面的示例可以帮助我们在 iText PDF 库的帮助下创建一个新文档。

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.Layout.Properties;
using System.IO;
using iText.Kernel.Geom;
using iText.Html2pdf;

var html = "<h1>Hello world</h1>";
//byte array
byte [] result;
//create new MemoryStream using var ms
using (var ms = new MemoryStream())
{
    //new document
    var doc = new PdfDocument(new PdfWriter(ms));
    doc.SetDefaultPageSize(PageSize.A4);
    doc.SetTagged();
    HtmlConverter.ConvertToPdf(html, doc, new ConverterProperties());
    result = ms.ToArray();
}
File.WriteAllBytes(@"test.pdf", result);
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.Layout.Properties;
using System.IO;
using iText.Kernel.Geom;
using iText.Html2pdf;

var html = "<h1>Hello world</h1>";
//byte array
byte [] result;
//create new MemoryStream using var ms
using (var ms = new MemoryStream())
{
    //new document
    var doc = new PdfDocument(new PdfWriter(ms));
    doc.SetDefaultPageSize(PageSize.A4);
    doc.SetTagged();
    HtmlConverter.ConvertToPdf(html, doc, new ConverterProperties());
    result = ms.ToArray();
}
File.WriteAllBytes(@"test.pdf", result);
Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
Imports iText.Layout.Properties
Imports System.IO
Imports iText.Kernel.Geom
Imports iText.Html2pdf

Private html = "<h1>Hello world</h1>"
'byte array
Private result() As Byte
'create new MemoryStream var ms
Using ms = New MemoryStream()
	'new document
	Dim doc = New PdfDocument(New PdfWriter(ms))
	doc.SetDefaultPageSize(PageSize.A4)
	doc.SetTagged()
	HtmlConverter.ConvertToPdf(html, doc, New ConverterProperties())
	result = ms.ToArray()
End Using
File.WriteAllBytes("test.pdf", result)
VB   C#

上面的示例显示,我们正在根据给定的 HTML 字符串创建 PDF 文档。首先,我们创建 MemoryStream 来保存数据。然后,创建 PdfWriter 并将 MemoryStream 作为参数传递,以保存数据。然后,我们在 HtmlConverter 的帮助下创建 PDF 文件。之后,所有输出都保存在 MemoryStream 中。然后,我们将数据转换成字节,然后使用 File 类将 MemoryStream ms 保存到新文件中,输出结果如下。

从字节数组创建 PDF C# iTextSharp(与 IronPDF 对比) 图 3 - 输出

4.2 使用 IronPDF

只需几行代码,IronPDF 就能轻松创建 PDF 文件。以下是使用 IronPDF 创建 PDF 文件的示例代码。

var html = "<h1>Hello world</h1>";
var pdf = new IronPdf.ChromePdfRenderer();
var bytedata=pdf.RenderHtmlAsPdf(html).BinaryData;
File.WriteAllBytes(@"test.pdf", bytedata);
var html = "<h1>Hello world</h1>";
var pdf = new IronPdf.ChromePdfRenderer();
var bytedata=pdf.RenderHtmlAsPdf(html).BinaryData;
File.WriteAllBytes(@"test.pdf", bytedata);
Dim html = "<h1>Hello world</h1>"
Dim pdf = New IronPdf.ChromePdfRenderer()
Dim bytedata=pdf.RenderHtmlAsPdf(html).BinaryData
File.WriteAllBytes("test.pdf", bytedata)
VB   C#

第一步,我们为 ChromePdfRenderer 创建一个对象,它有助于创建 PDF 文件。然后,我们使用 RenderHtmlAsPdf 方法将 HTML 数据添加到 PDF 文档中。然后将数据转换为字节数组。最后一步是使用文件将字节数组转换为 PDF 文件。输出结果如下

从字节数组创建 PDF C# iTextSharp(与 IronPDF 对比) 图 4 - IronPDF 输出

更多代码教程,请点击 这里.

5.0 结论

iText7 是常用的 PDF 库之一。iText 代码非常复杂,不适合初学者使用。iText7 将库分为多个软件包,这与其他软件包不同。我们需要下载所有软件包才能运行,这可能会增加应用程序的大小。iText 的开发许可证和商业许可证都是免费的。点击 这里 了解有关 iText 许可证的更多信息。

另一方面,IronPDF 使用方便简单。只需几行代码,我们就能创建 PDF 文件。它适合初学者使用,无需任何基础知识。IronPDF 不依赖于任何其他软件包。它是一个单独运行的软件包。除了提供免费许可证外,开发人员还可以根据自己的需要选择购买各种许可证。$749 简装版包含所有库功能,如永久许可证、30 天退款保证、一年软件支持、升级以及 SaaS 和 OEM 再分发的可能性。此外,它还不包括经常性费用。这些许可证是一次性购买,可用于开发、暂存和生产。此外,IronPDF 还提供有时限、不可分发的免费许可证。请点击 这里 详细了解 IronPDF 价格和许可信息。

< 前一页
IronPDF和Foxit PDF SDK的比较
下一步 >
iTextSharp 与 IronPDF 编辑 PDF 的比较

准备开始了吗? 版本: 2024.10 刚刚发布

免费NuGet下载 总下载量: 11,108,738 查看许可证 >