产品比较

IronPDF 和 PDFTron 的比较

发布 2022年四月13日
分享:

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

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

  • IronPDF
  • PDFTron

    IronPDF和PDFTron都是提供创建、操作和 打印 PDF 在 .NET 和 .NET Core 中。 下一个问题是决定 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# 库 — 突出特点

其中一些重要功能包括

创建 PDFs (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的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 网络应用程序 (.Net) 然后点击确定,如下图所示

    图 1 - 新建项目对话框

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

    图 2 - 网络表格

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

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

2.IronPDF C# 库安装

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

  1. 使用 Visual Studio
  2. 开发人员命令提示符
  3. 直接下载 NuGet 软件包
  4. 下载 IronPDF .DLL 库

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

2.1.使用 Visual Studio

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

图 3 - 解决方案资源管理器

图 4 - 项目菜单 > 管理 NuGet 软件包

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

图 5 - 从 NuGet 软件包安装 IronPDF

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

另一种下载并安装 IronPDF C# 库的方法是通过开发者命令提示符,按照以下步骤安装IronPDF NuGet 包

  • 打开开发者命令提示符 — 通常位于Visual Studio文件夹下

    键入以下命令

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

2.3.直接下载 NuGet 软件包

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

2.4.通过下载库安装 IronPDF

您可以直接从网站上下载 IronPDF 的 .DLL 文件。它可以直接从 IronPDF DLL 下载.

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

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

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

3. PDFTron 库安装

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

3.1. 先决条件

  • Visual Studio
  • 确保您的安装中包括 .NET 桌面开发.NET Framework 4.5.1+ 开发工具 工作负载。
  • PDFTron的C# .NET PDF库:Windows的.NET PDF SDK下载

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");
' Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5")
VB   C#

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

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

  1. 在 Visual Studio 中为您选择的语言创建一个新的 .NET Framework 控制台应用程序项目。 您可以在Visual C#类别下找到它们。
  2. 导航到您项目的文件夹中。 默认情况下,路径应类似于:C:/Users/User_Name/source/repos/myApp
  3. 将 Lib 文件夹从 PDFNET_BASE 复制到您的项目文件夹 (包含 .csproj 文件的文件夹).
  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”。

    图 6 - PDFTron - copy_local_false

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

3.4. 在 Visual Studio 中使用 NuGet

本节将介绍NuGet集成步骤。

  1. 执行前两步手动集成。
  2. 右键单击项目依赖项,然后单击管理 NuGet 包... 这将打开 NuGet 包管理器。
  3. 点击包管理器顶部附近的浏览标签。 在搜索栏输入:PDFTron.NET.x64
  4. 选择 PDFTron Systems Inc. 提供的 PDFTron.NET.x64 包,并在包信息面板中点击安装按钮。 如果系统提示或打开了外部对话框以进行确认,请点击“确定”。

    图 7 - PDFTron - 使用 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");
Imports IronPdf
Private Renderer As New IronPdf.ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
Pdf.SaveAs("url.pdf")
VB   C#

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

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

请注意:需要 HTML2PDF (下载链接) module add-on. 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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

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();
}
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
	IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
VB   C#

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
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

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

这是一些示例 C# 代码,用于使用 PDFTron SDK 直接、高质量地转换 PDF、XPS、EMF、SVG、TIFF、PNG、JPEG 和其他图像格式。 (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);
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF
' Start with a PDFDoc (the conversion destination)
Private doc As New PDFDoc()
' Set the path of the image file
Private filename = "sample-image.png"
' perform the conversion with no optional parameters
Convert.ToPdf(doc, filename)
doc.Save("sample-image.pdf", SDFDoc.SaveOptions.e_linearized)
VB   C#

8.许可

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

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产品。

< 前一页
IronPDF与GemBox.Pdf的比较
下一步 >
IronPDF与HiQPdf C#的比较

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

免费NuGet下载 总下载量: 10,731,156 查看许可证 >