跳至页脚内容
产品比较

在C#中创建PDF的比较:ITextSharp与IronPDF

iTextSharp和IronPDF在C#中创建PDF的对比指南

在现代数字媒体时代,便携文档格式(PDF)作为最广泛使用的标准文档格式之一,能够在不失去格式的情况下传输数据。 其多功能性、平台独立性以及能够保留文档格式,使其成为共享信息的理想选择。

以编程方式创建PDF在桌面和网络应用程序中是一种常见的需求。 以编程方式创建PDF可以让开发人员基于实时数据动态生成文档。

这特别有价值,对于需要实时生成报告、发票或证书的应用程序。 PDF文件格式由Adobe创建,它提供了创建PDF的功能,您可以在Adobe Create PDF探索其功能。

在本文中,我们将探讨使用两个流行库iTextSharpIronPDF在C#中以编程方式创建PDF文档的过程。

iTextSharp库简介

iTextSharp于2009年12月发布,成为一款革命性的PDF工具,取代了其前身iText 2。作为iText 5的.NET版本,它为高级可编程PDF功能铺平了道路。 iTextSharp是iText 5的.NET版本,一直以来都是可编程PDF文档对象的可靠来源。

使用iTextSharp创建PDF的概要

  1. 在Visual Studio中创建一个新的C#项目。
  2. 从NuGet包管理器安装iTextSharp库。
  3. 创建一个PdfDocument类的实例。
  4. 使用PdfWriter对象实例化它。
  5. 创建一个Document对象并将PdfDocument对象传递给它。
  6. 使用Paragraph类向Document对象添加文本。
  7. 关闭Document对象。

iText 5的关键特性

以下是iTextSharp DLL的一些重要关键特性:

动态PDF生成

iTextSharp使开发人员能够动态生成或操纵PDF文档。 此功能对于基于XML文件或数据库数据创建文档和报告非常有价值。

交互式表单

该库便于创建和填写交互式表单,增强用户参与和互动性。

高级PDF特性

iTextSharp允许开发人员利用众多交互式功能,例如向现有PDF文件添加书签、页码、水印等。 这种灵活性对于根据特定要求定制PDF至关重要。

地图和书籍创建

开发人员可以利用iTextSharp创建地图和书籍,扩展了库的应用范围,超越了基本文档生成。

PDF标准合规性

iTextSharp支持各种PDF标准,包括用于归档的PDF/A、为了可访问性的PDF/UA、用于电子发票的ZUGFeRD和PDF 2.0(尽管并非所有功能都涵盖)。

iText Core版本8的发布

虽然iTextSharp一直是PDF操作的强大选择,但iText Core版本8替代了iText 5/iTextSharp,带来了众多改进。 鼓励开发人员考虑将现有项目过渡到iText 8,以利用最新发布的版本。

iText Core版本8的关键特性

以下是iText 7版本8的一些关键特性:

增强功能

iText在功能、性能和可扩展性方面引入了改进,与其前身相比。

改进的API

最新版本提供了改进的API,使开发更加直观和高效。

文档和支持

iText附带更新的文档和支持,确保顺利的开发体验。

优化的发票开具

通过iText 7版本8套件,开发人员可以优化发票开具,确保长期归档并通过其强大的PDF SDK解决合规问题。

深入使用iTextSharp创建PDF

步骤1:安装iTextSharp库

要使用iTextSharp创建PDF文档,请按照以下步骤使用NuGet包管理器安装库:

  1. 打开Visual Studio并创建一个新项目。
  2. 在解决方案资源管理器中右键单击项目并选择“管理NuGet包”。

Itextsharp和IronPDF在C#中创建PDF的比较图1 - NuGet解决方案资源管理器

  1. 在“NuGet包管理器”窗口中,选择“浏览”选项卡。
  2. 在搜索栏中输入“iTextSharp”并按Enter。

Itextsharp和IronPDF在C#中创建PDF的比较图2 - 浏览iText 7

  1. 从搜索结果中选择“iText 7”并点击“安装”。
  2. 查看并接受依赖项,然后点击“确定”继续。
  3. 等待安装完成,现在可以将iTextSharp添加到您的项目中。

步骤2:使用iTextSharp创建PDF文档的代码

现在,让我们探讨一个使用iTextSharp的基本创建PDF示例:

using System;
using System.IO;
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;

class Program
{
    static void Main(string[] args)
    {
        // Create a new PDF document with a FileStream and PdfWriter
        using (PdfDocument pdfDocument = new PdfDocument(new PdfWriter(new FileStream("/myfiles/hello.pdf", FileMode.Create, FileAccess.Write))))
        {
            // Create a document object
            using (Document doc = new Document(pdfDocument))
            {
                // Add a paragraph to the document
                string line = "Hello! Welcome to iTextSharp. Created with latest iText core version 8.";
                doc.Add(new Paragraph(line));
            }
        }

        // Print a message to the console
        Console.WriteLine("PDF created successfully!");
    }
}
using System;
using System.IO;
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;

class Program
{
    static void Main(string[] args)
    {
        // Create a new PDF document with a FileStream and PdfWriter
        using (PdfDocument pdfDocument = new PdfDocument(new PdfWriter(new FileStream("/myfiles/hello.pdf", FileMode.Create, FileAccess.Write))))
        {
            // Create a document object
            using (Document doc = new Document(pdfDocument))
            {
                // Add a paragraph to the document
                string line = "Hello! Welcome to iTextSharp. Created with latest iText core version 8.";
                doc.Add(new Paragraph(line));
            }
        }

        // Print a message to the console
        Console.WriteLine("PDF created successfully!");
    }
}
Imports System
Imports System.IO
Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new PDF document with a FileStream and PdfWriter
		Using pdfDocument As New PdfDocument(New PdfWriter(New FileStream("/myfiles/hello.pdf", FileMode.Create, FileAccess.Write)))
			' Create a document object
			Using doc As New Document(pdfDocument)
				' Add a paragraph to the document
				Dim line As String = "Hello! Welcome to iTextSharp. Created with latest iText core version 8."
				doc.Add(New Paragraph(line))
			End Using
		End Using

		' Print a message to the console
		Console.WriteLine("PDF created successfully!")
	End Sub
End Class
$vbLabelText   $csharpLabel

在此源代码中,我们通过传递一个PdfWriter类对象创建了一个新的PDF文档。 FileStream对象指定了PDF文件名和文件模式以创建PDF文档。 接着我们将此PdfDocument对象传递给Document类来创建PDF。

最后,我们添加了一个字符串文本作为新段落,文本为“Hello! 欢迎使用iTextSharp。使用最新的iText核心版本8创建。”并关闭文档以节省内存。 创建的PDF文档以“hello.pdf”的名称保存在指定位置的“myfiles”文件夹中。

Itextsharp和IronPDF在C#中创建PDF的比较图3 - iTextsharp代码输出PDF

IronPDF简介

IronPDF是一个全面的C#库,使开发人员能够以多样化且高效的方式与PDF交互。 无论是从零开始创建PDF,将HTML和CSS转换为PDF,还是添加高级功能如数字签名和水印,IronPDF都为所有PDF相关需求提供了一套丰富的工具。

IronPDF 的主要功能

HTML 至 PDF 转换

IronPDF在将HTML和CSS转换为高质量PDF文档方面表现出色。 此功能对于处理网页内容或动态HTML报告的开发人员尤其有价值。

PDF创建和操纵

开发人员可以从头开始创建PDF,动态添加内容,以及轻松操纵现有PDF。 这种灵活性允许生成定制化的文档,以满足特定要求。

文本、图像和表单

IronPDF支持在您的PDF文档中包含文本、图像、表格和表单。 这使其成为在PDF中创建各种内容的多功能工具。

数字签名

安全性至关重要,IronPDF支持向PDF文档添加数字签名。 此功能对于涉及敏感信息或法律文档的应用程序非常重要。

水印和注释

通过水印、注释和附加元数据增强您的PDF。 IronPDF提供了向文档中添加视觉元素和注释的手段,提高了沟通和文档的清晰度。

PDF/A和PDF/UA合规性

IronPDF支持与用于归档的PDF/A标准和用于可访问性的PDF/UA标准的合规性。 这确保您的文档符合行业标准,以满足长期归档和可访问性要求。

跨平台支持

IronPDF设计为跨不同平台无缝工作,为在各种环境中工作的开发人员提供一致的体验。

用户友好的接口

该库配备了简化复杂PDF操作的用户友好型API。 这允许开发人员专注于应用程序逻辑,而不是解决复杂的PDF功能。

使用IronPDF创建PDF

步骤1:安装IronPDF库

要开始使用IronPDF,请按照以下步骤使用NuGet包管理器安装该库:

  1. 打开Visual Studio并创建一个新项目。
  2. 在解决方案资源管理器中右键单击项目并选择“管理NuGet包”。
  3. 在“NuGet包管理器”窗口中,选择“浏览”选项卡。

Itextsharp和IronPDF在C#中创建PDF的比较图4 - 浏览IronPDF

  1. 在搜索栏中输入“IronPDF”并按下Enter。
  2. 从搜索结果中选择“IronPDF”并点击“安装”。
  3. 查看并接受依赖项,然后点击“确定”继续。
  4. 等待安装完成,现在可以将IronPDF添加到您的项目中。

步骤2:使用IronPDF的代码来创建PDF文档

现在,让我们来看以下代码,使用IronPDF的HTML字符串创建PDF

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // Instantiate renderer
        var renderer = new ChromePdfRenderer();

        // Create a PDF from an HTML string using C#
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

        // Export to a file or Stream
        pdf.SaveAs("output.pdf");

        // Print a message to the console
        Console.WriteLine("PDF created successfully using IronPDF!");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // Instantiate renderer
        var renderer = new ChromePdfRenderer();

        // Create a PDF from an HTML string using C#
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

        // Export to a file or Stream
        pdf.SaveAs("output.pdf");

        // Print a message to the console
        Console.WriteLine("PDF created successfully using IronPDF!");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Instantiate renderer
		Dim renderer = New ChromePdfRenderer()

		' Create a PDF from an HTML string using C#
		Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")

		' Export to a file or Stream
		pdf.SaveAs("output.pdf")

		' Print a message to the console
		Console.WriteLine("PDF created successfully using IronPDF!")
	End Sub
End Class
$vbLabelText   $csharpLabel

在上述源代码中,我们创建了一个新的ChromePdfRenderer,将HTML字符串内容(在此示例中是标题)渲染为PDF,并将生成的PDF文档保存为“output.pdf”。IronPDF将HTML转换为像素完美的PDF文档。

要生成具有更多控制的PDF,例如设置页面大小、添加图像文件、元信息和其他元素,请访问此文档获取更多信息。

Itextsharp和IronPDF在C#中创建PDF的比较图5 - IronPDF代码输出PDF

结论

IronPDF和iTextSharp,现在正式称为iText,是在C#中创建PDF的强大库,各自都有其优势。

IronPDF以其用户友好的界面和丰富的文档而脱颖而出,是寻求简便性的开发人员的优秀选择。 而iTextSharp以其强大的功能集著称,尤其是在高级PDF操作至关重要的环境中。

iText和IronPDF都是PDF生成和操作的强大解决方案,但IronPDF在速度和效率方面往往优于iText。 这种优势归因于IronPDF经过优化的架构,利用本地代码进行关键任务,实现高性能。

尤其要注意的是,IronPDF在HTML渲染方面表现出色,使得从HTML生成PDF比iText所采用的传统方法更快。 此外,IronPDF在内存效率方面通常优于他人,特别是在资源有限的环境中。 总体而言,IronPDF的简化架构和在HTML渲染方面的熟练度使其在性能上略胜一筹。

对于IronPDF和iTextSharp的完整比较,请访问此IronPDF与iTextSharp详细比较

IronPDF提供免费试用许可证以获取更多信息。 从IronPDF下载页面下载该库。

[{i:(iText Core版本8是其各自所属公司的注册商标。 本网站与iText Core版本8无关联,也未经iText Core版本8认可或赞助。所有产品名称、商标和品牌均为其各自所有者的财产。 比较仅供参考,反映的是撰写时的公开信息。]

常见问题解答

如何在C#中将HTML转换为PDF?

你可以使用IronPDF的RenderHtmlAsPdf方法将HTML字符串转换为PDF。你还可以使用RenderHtmlFileAsPdf将HTML文件转换为PDF。

iTextSharp 和 IronPDF 之间的关键区别是什么?

iTextSharp 以其强大的功能集而闻名,包括动态 PDF 生成和交互式表单,而 IronPDF 在 HTML 到 PDF 转换、用户友好界面以及处理 HTML 内容时的高效性方面表现出色。

如何以编程方式在 C# 中创建 PDF 文档?

要以编程方式在 C# 中创建 PDF 文档,可以使用 IronPDF 轻松将 HTML 和 CSS 渲染为 PDF 文档,或使用 iTextSharp 采用更传统的方法使用 PdfDocument 和 Document 对象。

iText Core 版本 8 提供了哪些改进?

与其前身 iTextSharp 相比,iText Core 版本 8 提供了增强的功能、改进的 API、更好的文档以及优化的任务处理能力,如开票等。

如何在 C# 项目中安装 IronPDF?

可以通过在 Visual Studio 的 NuGet 包管理器中搜索 'IronPDF' 并按照提示完成安装来在 C# 项目中安装 IronPDF。

IronPDF 提供哪些用于 PDF 生成的功能?

IronPDF 提供了HTML 到 PDF 转换、向 PDF 添加文本、图像、表单、水印和数字签名的功能,还支持跨平台和用户友好界面。

IronPDF 是否提供试用版本?

是的,IronPDF 提供免费试用许可,可以在其网站上获取,允许开发人员探索和测试其功能和能力。

IronPDF 遵循哪些合规标准?

IronPDF 支持 PDF/A 存档标准和 PDF/UA 可访问性标准,以确保文档符合行业标准。

IronPDF 为什么在 HTML 渲染方面更受推崇?

IronPDF 在 HTML 渲染方面更受推崇,因为它使用 ChromePdfRenderer 将 HTML 和 CSS 直接转换为高质量的 PDF 文档,提供网页内容的像素完美呈现。

在 C# 中与 PDF 库有关的常见故障排除场景是什么?

常见的故障排除场景包括安装问题、HTML 内容的渲染错误以及与不同 .NET 版本的兼容性问题。IronPDF 提供全面的文档和支持来解决这些挑战。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。