产品比较

IronPDF 和 PDFTron 的比较

Chipego
奇佩戈-卡琳达
2022年四月13日
分享:

对于开发人员来说,创建、读取、编写和转换不同格式的 PDF 一直是一项具有挑战性的任务。 随着许多库的完成,这些问题现在已经得到解决。 此外,这些库的轻松集成使它们在C#应用程序中更受欢迎且易于使用。

本文将对 .NET 和 .NET Core 开发人员最常用的两个 PDF 库进行比较。 这两个图书馆是

  • IronPDF
  • PDFTron

    IronPDF 和 PDFTron 均为库,提供在 .NET 和 .NET Core 中创建、操作和打印 PDF的方法。 下一个问题是决定哪一个C# PDF 库最适合您的 .NET 项目。 在阅读以下两个库的比较及其各自在转换和处理 PDF 方面的突出功能时,您可以权衡自己的决定。

    让我们先看看这两个图书馆都提供了什么,然后再进行比较。

IronPDF 图书馆

IronPDF .NET PDF Library 解决方案是开发人员,尤其是使用 C# 的软件工程师的梦想。 使用这款出色的工具,您可以轻松创建 .NET 的核心 PDF 库。

IronPDF 使用 .NET Chromium 引擎将 HTML 页面渲染为 PDF 文件。 在将HTML转换为PDF时,无需使用复杂的API来定位或设计PDF。 IronPDF 支持标准网络文档:HTML、ASPX、JS、CSS 和图像。

它还能让您使用 HTML5、CSS、JavaScript 和图像创建 .NET PDF 库。 你可以毫不费力地对 PDF 进行编辑、盖章以及添加页眉和页脚。 此外,它使得读取 PDF文本和提取图像变得非常容易。

IronPDF C# 库 — 突出功能

其中一些重要功能包括

创建PDF(HTML到PDF)

  • 从HTML 4和5、CSS和JavaScript创建PDF文档
  • 从URL生成PDF文档
  • 加载带有自定义网络登录凭证、用户代理、代理服务器、cookie、HTTP 标头和表单变量的 URL,以便在 HTML 登录表单后进行登录

    无需 Adobe Acrobat 编辑现有 PDF 文档

  • 读取并填充PDF表单字段数据
  • 从 PDF 文件中提取图像和文本
  • 将新的HTML内容盖章到任何现有页面上
  • 添加逻辑或HTML页眉和页脚
  • 注释,数字签名

    操作现有的PDF文档

  • 加载和解析现有文件
  • 合并和拆分文档内容
  • 添加页眉、页脚、注释、书签、水印、文本和资产

    从多个格式转换

  • ASPX WebForms - 只需 3 行代码,即可将 ASP.NET 网络表格转换为可在浏览器中查看的可下载 PDF 文件
  • HTML文档 — 将HTML转换为PDF
  • 自定义“基本URL”以允许整个网络上的可访问资产文件
  • 通过虚拟视口(宽度和高度)实现响应式布局
  • 接受任何主要文件编码中的HTML编码(默认使用UTF-8)

    保存和打印

  • 从文件、二进制数据或内存流中保存和加载数据
  • 屏幕或打印CSS媒体类型
  • 将PDF文件转换为PrintDocument对象, 无需Adobe即可打印(代码量少)
  • 在源代码中导出官方日志文件,其中包含有关 API 成功和调试错误的详细信息

    注意: 除了IronPDF,您还可以查看其他产品,因为您现在可以购买Iron Suite for .NET,以两个许可证的价格获得五个许可证,其中包括IronPDF、IronOCR、IronXL、IronBarcode和IronWebscraper。

PDFTron 系统库

PDFTron SDK 是内部构建的,旨在为您的任何大小和复杂性的数字内容带来准确可靠的渲染。 它为Windows、Mac OS、Linux、Android、iOS和网络上的任何软件带来了PDF、CAD和MS Office的功能。

PDFTron Systems Inc.是一个全面的跨平台PDF和Office SDK,允许您编写独立的、跨平台的、可靠的商业应用程序。 PDFTron's PDFnet SDK 是一个高质量、工业级的 .NET PDF 库(支持 WPF/WinForms),适用于要求最高、种类最多样的应用程序。

PDFTron .NET PDF C# 库 — 突出特点

其中一些重要功能包括

  • 查看和编辑PDF文档
  • 注释和协作
  • 签署PDFs
  • 页面操作、表单填写、编辑和创建
  • 真正的编辑
  • 模板生成
  • 测量工具
  • PDF/A 库

    从多个格式转换

  • Office 转 PDF — DOCX 转 PDF,XLSX 转 PDF,PPTX 转 PDF。
  • PDF 转 Office — 将 PDF 转换为 DOCX。
  • 遗留 Office 支持 —— DOC 转 PDF,XLS 转 PDF,PPT 转 PDF。
  • HTML 转 PDF — HTML 转 PDF。
  • PDF到HTML — PDF到HTML。
  • 将3D格式转换为网页优化的GLB/GLGLTF。
  • 图像转PDF — TIFF转PDF,PNG转PDF,JPEG转PDF。
  • PDF 转 图像 — PDF 转 TIFF、PNG、JPEG、SVG。
  • 高级成像 —— 将DICOM及其他格式如AAI、ARW、DCR、HEIC和RAF直接转换为PDF。
  • CAD 至 PDF - DWG 至 PDF、DGN 至 PDF、DXF 至 PDF、DWF 至 PDF 和 RVT 至 PDF。

    本文其余部分将探讨以下主题:

  1. 创建项目

  2. 安装 IronPDF C# 库

  3. PDFTron SDK 安装

  4. 从现有 URL 创建 PDF

  5. 从 HTML 输入字符串创建 PDF

  6. 将 ASPX 页面转换为 PDF

  7. 将图像转换为 PDF

  8. 许可

  9. 总结和结论

1.创建 ASP.NET 项目

使用以下步骤创建 ASP.NET 网站:

  • 打开 Visual Studio 2019
  • 点击菜单中的文件,然后点击 "新建项目 "创建新项目
  • 在项目类型列表框中选择 Visual C# 下的 Web
  • 选择 ASP.NET Web 应用程序 (.Net) 并点击确定,如下图所示

    Pdftron Alternatives 1 related to 1.创建 ASP.NET 项目

    图 1新建项目对话框

  • 在下一个屏幕中,选择 "Web 表单",如下图所示。

    Pdftron Alternatives 2 related to 1.创建 ASP.NET 项目

    图 2Web 窗体

  • 选定后,单击 "确定"。

    现在项目已经创建,我们几乎可以测试库了。 不过,我们仍然需要安装并将它们集成到我们的项目中。 让我们先安装 IronPDF。

2. IronPDF C# 库安装

下载和安装 IronPDF 库有四种方法。 具体如下

  1. 使用 Visual Studio

  2. 开发人员命令提示符

  3. 直接下载 NuGet 软件包

  4. 下载 IronPDF .DLL 库

    让我们逐一进行详细了解。

2.1.使用 Visual Studio

Visual Studio 提供了 NuGet 包管理器,用于在项目中安装 NuGet 包。 您可以通过项目菜单或右键单击解决方案资源管理器中的项目来访问它。

Pdftron Alternatives 3 related to 2.1.使用 Visual Studio

图 3解决方案资源管理器

Pdftron Alternatives 4 related to 2.1.使用 Visual Studio

Figure 4Project Menu > Manage NuGet Packages

选择后,浏览 IronPDF 软件包并安装,如下图所示。

Pdftron Alternatives 5 related to 2.1.使用 Visual Studio

图 5从 NuGet 包安装 IronPDF

2.2.使用开发人员命令提示符

另一个下载和安装IronPDF C#库的方法是通过开发者命令提示符使用以下步骤安装IronPDF NuGet package

  • 打开 开发人员命令提示符——通常在 Visual Studio 文件夹下找到

    键入以下命令

Install-Package IronPdf
  • 按回车键
  • 这将下载并安装软件包
  • 重新加载 Visual Studio 项目并开始使用它

2.3.直接下载 NuGet 软件包

第三种方法是按照以下步骤下载并安装 IronPDF。 可以直接访问 NuGet 网站并下载软件包。 步骤如下

  • 导航到 [IronPDF NuGet 包](https://www.nuget.org/packages/IronPdf/" target="_blank" rel="nofollow)
  • 选择 "下载软件包
  • 双击下载的软件包
  • 软件包将被安装
  • 重新加载 Visual Studio 项目并开始使用它

2.4.通过下载库安装 IronPDF

您可以直接从网站下载 IronPDF .DLL 文件。可以直接从 [IronPDF DLL 下载](https://ironpdf.com/packages/IronPdf.Package.pdfsharp.comparison.zip" target="_blank) 中下载。

在您的项目中引用库,请按照以下步骤操作:

  • 右键单击解决方案资源管理器中的解决方案
  • 选择 "参考文献"。
  • 浏览 IronPDF.dll 库
  • 点击确定

    完成! IronPDF 已下载、安装并准备就绪。 然而,在此之前,我们应该安装 PDFTron。

3. PDFTron 库安装

以下步骤将帮助您为用户工作设置 PDFtron SDK。

3.1. 先决条件

3.2 初始设置

  1. 从.zip文件中提取文件夹。

    本文使用 PDFNET_BASE 作为您提取的文件夹路径。

PDFNET_BASE = path/to/extraction/folder/PDFNetDotNet4/
  1. 获取 PDFTron 试用密钥并初始化。
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");

注意:PDFTron 收集一些关于您使用 SDK 的数据用于产品改进。

3.3. 手动集成到您的应用程序中

  1. 在 Visual Studio 中为您选择的语言创建一个新的 .NET Framework 控制台应用程序项目。 您可以在Visual C#类别下找到它们。

  2. 导航到您项目的文件夹中。 默认情况下,路径应类似于:C:/Users/User_Name/source/repos/myApp

  3. 将Lib文件夹从PDFNET_BASE复制到您的项目文件夹(包含.csporj文件的文件夹)。

  4. 在右边找到解决方案资源管理器。 右键单击“引用”并选择“添加引用”选项。 这将打开一个引用管理器对话框。

  5. 点击浏览... 在对话框的底部。 导航到复制的 Lib 文件夹并将 PDFNetLoader.dll 添加到引用中。

  6. 此外,从 x86 文件夹中添加适当版本的 PDFNet.dll 作为另一个引用(path/to/your/project/folder/Lib/PDFNet/x86/PDFNet.dll)。 此版本将允许应用程序在32位和64位操作系统上运行。

  7. 选择 PDFNet.dll 并将其“复制本地”属性设置为“False”。

    Pdftron Alternatives 6 related to 3.3. 手动集成到您的应用程序中

    图6PDFTron - copy_local_false

  8. 在解决方案资源管理器中打开 App.config,确保 loadFromRemoteSources 属性设置为 true:
<configuration>
    <runtime>
        <loadFromRemoteSources enabled="true" />
    </runtime>
</configuration>
XML
  1. 右键单击您的项目并选择属性。 在左侧窗格中,选择“构建事件”选项卡。 在构建后事件中,添加以下代码片段:
xcopy $(ProjectDir)Lib\PDFNet $(TargetDir)PDFNet /S /I /Y

3.4. 在 Visual Studio 中使用 NuGet

本节将介绍NuGet集成步骤。

  1. 执行前两步手动集成。

  2. 右键单击项目依赖项,然后单击管理 NuGet 包... 这将打开 NuGet 包管理器。

  3. 点击包管理器顶部附近的浏览标签。 在搜索栏输入:PDFTron.NET.x64

  4. 选择 PDFTron Systems Inc. 提供的 PDFTron.NET.x64 包,并在包信息面板中点击安装按钮。 如果系统提示或打开了外部对话框以进行确认,请点击“确定”。
    Pdftron Alternatives 7 related to 3.4. 在 Visual Studio 中使用 NuGet

    图 7PDFTron - 使用 NuGet 包进行安装

4.从现有 URL 创建 PDF

这两个库都提供将 HTML 网页转换为 PDF 的功能。 让我们逐一查看每个库的代码。

4.1.使用 IronPDF 将现有 URL 转换为 PDF

IronPDF 可以非常直接地将现有 URL 的 HTML 渲染为 PDF。 JavaScript、图片、表单和CSS都得到了非常高水平的支持。

以下代码使用IronPDF直接从网站地址创建PDF文档。

using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

Pdf.SaveAs("url.pdf");
using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

Pdf.SaveAs("url.pdf");

4.2 使用PDFTron技术将现有URL转换为PDF

HTML2PDF 模块是一个可选的附加工具,可以与 PDFTron SDK 一起使用,将 HTML 文件转换为 PDF 文档,无需任何外部第三方依赖。

注意:需要[HTML2PDF 模块下载](https://www.pdftron.com/documentation/dotnet/download/" target="_blank" rel="nofollow)附加组件。 HTML2PDF 模块被打包成一个 zip 归档文件,意在直接展开到您之前下载的 PDFTron SDK 目录中。

using pdftron;
using pdftron.SDF;
using pdftron.PDF;

// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");

// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();

// add from a web page location
converter.InsertFromURL(webPageLocation);

// apply conversion
converter.Convert(doc);
doc.Save("url.pdf", SDFDoc.SaveOptions.e_linearized);
using pdftron;
using pdftron.SDF;
using pdftron.PDF;

// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");

// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();

// add from a web page location
converter.InsertFromURL(webPageLocation);

// apply conversion
converter.Convert(doc);
doc.Save("url.pdf", SDFDoc.SaveOptions.e_linearized);

5. 从HTML输入字符串创建PDF

IronPDF和PDFTron都提供了从包含HTML的字符串生成PDF的功能。 两者仅使用两行代码来完成这项任务。

5.1.使用 IronPDF 输入 HTML 字符串

下面的代码显示了使用 HTML 输入字符串可以渲染 PDF 文档。 您可以选择简单的 HTML,也可以加入 CSS、图片和 JavaScript。

using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");

// Load external html assets: images, css and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
var PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
PDF.SaveAs("html-with-assets.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");

// Load external html assets: images, css and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
var PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
PDF.SaveAs("html-with-assets.pdf");

5.2 使用PDFTron的HTML输入字符串

HTML2PDF 转换器支持从 HTML 字符串进行转换,并提供许多控制页面大小和格式的选项。

using pdftron;
using pdftron.SDF;
using pdftron.PDF;

// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");

// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();

// add from HTML String data
converter.InsertFromHtmlString("<h1>Html with CSS and Images</h1>");

// apply conversion
converter.Convert(doc);
doc.Save("html-with-assets.pdf", SDFDoc.SaveOptions.e_linearized);
using pdftron;
using pdftron.SDF;
using pdftron.PDF;

// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");

// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();

// add from HTML String data
converter.InsertFromHtmlString("<h1>Html with CSS and Images</h1>");

// apply conversion
converter.Convert(doc);
doc.Save("html-with-assets.pdf", SDFDoc.SaveOptions.e_linearized);

6. 将 ASPX 网页转换为 PDF

IronPDF可以通过一行代码轻松将ASPX网页转换为PDF,而PDFTron技术缺乏这种直接转换功能。

6.1. 利用IronPDF将ASPX页面转换为PDF

以下代码使用 IronPDF 将 ASPX 网页文件渲染为 PDF。 这是一行代码,非常容易使用。 在渲染 PDF 时,还可以在 PDF 设置中添加更多选项。

protected void Page_Load(object sender, EventArgs e)
{
    IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
protected void Page_Load(object sender, EventArgs e)
{
    IronPdf.AspxToPdf.RenderThisPageAsPdf();
}

7.将图像转换为 PDF

7.1.使用 IronPDF 将图像转换为 PDF

在 IronPDF 库中,可以使用 IronPdf.ImageToPdfConverter 类轻松地从一个或多个图像文件构建 PDF 实体文档。 您可以在PDF生成软件应用程序中从资产中加载图像。

// One or more images as IEnumerable.  This example selects all JPEG images in a specific folder.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg") 
 f.EndsWith(".jpeg"));

// Convert the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");

//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
// One or more images as IEnumerable.  This example selects all JPEG images in a specific folder.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg") 
 f.EndsWith(".jpeg"));

// Convert the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");

//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails

7.2 使用PDFTron技术将图像转换为PDF

以下是一些使用PDFTron SDK进行PDF、XPS、EMF、SVG、TIFF、PNG、JPEG和其他图像格式之间直接、高质量转换的C#示例代码('pdftron.PDF.Convert'命名空间)。 它使用 Convert.ToPdf 方法,更侧重于具有办公能力的 MS office 文档,例如转换任何可打印文档(例如。 使用通用文档转换器将TXT、RTF、Word、MS Office、DXF、DWG等转换为PDF或XPS。

using pdftron;
using pdftron.SDF;
using pdftron.PDF;

// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();

// Set the path of the image file
var filename = "sample-image.png";

// perform the conversion with no optional parameters
Convert.ToPdf(doc, filename);
doc.Save("sample-image.pdf", SDFDoc.SaveOptions.e_linearized);
using pdftron;
using pdftron.SDF;
using pdftron.PDF;

// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();

// Set the path of the image file
var filename = "sample-image.png";

// perform the conversion with no optional parameters
Convert.ToPdf(doc, filename);
doc.Save("sample-image.pdf", SDFDoc.SaveOptions.e_linearized);

8.许可

PDFTron SDK for .NET 下一代软件应用程序提供为免费试用产品,可以使用演示许可证密钥进行测试。 关于产品的许可和定价没有详细信息,这里的许可程序绝对不是直截了当的,因为您需要联系销售部门根据您的需求获取定制报价。 您可以访问这个[PDFTron定价信息](https://www.pdftron.com/pricing/" target="_blank" rel="nofollow)以获取更多信息。

9.总结和结论

摘要

IronPDF 无法从远程服务器将 HTML 转换为 PDF。 实际上,它在后台启动了一个真实的符合标准的网络浏览器实例(无需安装任何额外的软件)。 HTML 的渲染是完全准确的,而且是矢量格式,适合最高标准的商业印刷。 输出的 PDF 文件干净整洁,质量上乘。 它是公开的商业软件,许可和定价详情均在网站上公布。

PDFTron 是最全面的 MS Office 和 PDF SDK。 它提供了一个单独的HTML2PDF附加模块,需要下载并放置在PDFnet SDK的路径中。 同样,其他转换选项如OCR和PDF转Word也需要下载额外的模块。 它是完全商业化的,随时可以用于部署,但许可证的获取并不简单,因为您必须先联系销售部门以获得报价。

结论

在这里,IronPDF相较于PDFTron有一个优势,那就是在初始安装之后不需要额外下载。 这节省了时间并确保实现预期目标保持简单直接。 IronPDF通过一次下载提供所有必要的功能。 然而,PDFTron 确实具备 MS Office 功能,并且可以更好地处理 MS Office 文档。 可以通过下载特定模块来添加其他功能。 更重要的是,IronPdf 的授权方式简单明了,详细信息完全公布在网站上,因此与竞争对手相比更具优势。 目前的特别优惠意味着您只需支付两个产品的价格即可购买五个IronPDF产品。

Chipego
软件工程师
Chipego 拥有出色的倾听技巧,这帮助他理解客户问题并提供智能解决方案。他在 2023 年加入 Iron Software 团队,此前他获得了信息技术学士学位。IronPDF 和 IronOCR 是 Chipego 主要专注的两个产品,但他对所有产品的了解每天都在增长,因为他不断找到支持客户的新方法。他喜欢 Iron Software 的合作氛围,公司各地的团队成员贡献他们丰富的经验,以提供有效的创新解决方案。当 Chipego 离开办公桌时,你经常可以发现他在看书或踢足球。
< 前一页
IronPDF与GemBox.Pdf的比较
下一步 >
IronPDF与HiQPdf C#的比较