在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
对于开发人员来说,创建、读取、编写和转换不同格式的 PDF 一直是一项具有挑战性的任务。 随着许多库的完成,这些问题现在已经得到解决。 此外,这些库的轻松集成使它们在C#应用程序中更受欢迎且易于使用。
本文将对 .NET 和 .NET Core 开发人员最常用的两个 PDF 库进行比较。 这两个图书馆是
PDFTron
IronPDF和PDFTron都是提供创建、操作和 打印 PDF 在 .NET 和 .NET Core 中。 下一个问题是决定 C# PDF库 最适合您的 .NET 项目。 在阅读以下两个库的比较及其各自在转换和处理 PDF 方面的突出功能时,您可以权衡自己的决定。
让我们先看看这两个图书馆都提供了什么,然后再进行比较。
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)**
加载带有自定义网络登录凭证、用户代理、代理服务器、cookie、HTTP 标头和表单变量的 URL,以便在 HTML 登录表单后进行登录
不需使用 Adobe Acrobat 编辑现有的 PDF 文档
注释,数字签名
修改现有 PDF 文档
添加页眉、页脚、注释、书签、水印、文本和资产
从多种格式转换
接受以任何主要文件编码方式编码的 HTML(默认为 UTF-8)
保存并打印
在源代码中导出官方日志文件,其中包含有关 API 成功和调试错误的详细信息
注意: 除了 IronPDF 外,您还可以查看其他产品,因为现在您可以购买 Iron Suite for .NET,并以两个许可证的价格获得五个许可证,包括 IronPDF、IronOCR、IronXL、IronBarcode 和 IronWebscraper。
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/A 库
从多种格式转换
CAD 至 PDF - DWG 至 PDF、DGN 至 PDF、DXF 至 PDF、DWF 至 PDF 和 RVT 至 PDF。
本文其余部分将探讨以下主题:
创建项目
安装 IronPDF C# 库
PDFTron SDK 安装
从现有 URL 创建 PDF
从 HTML 输入字符串创建 PDF
将 ASPX 页面转换为 PDF
将图像转换为 PDF
许可
使用以下步骤创建 ASP.NET 网站:
选择 ASP.NET 网络应用程序(.Net)然后点击确定,如下图所示
图 1 - 新建项目对话框
在下一个屏幕中,选择 "Web 表单",如下图所示。
图 2 - 网络表格
选定后,单击 "确定"。
现在项目已经创建,我们几乎可以测试库了。 不过,我们仍然需要安装并将它们集成到我们的项目中。 让我们先安装 IronPDF。
下载和安装 IronPDF 库有四种方法。 具体如下
使用 Visual Studio
开发人员命令提示符
直接下载 NuGet 软件包
下载 IronPDF .DLL 库
让我们逐一进行详细了解。
Visual Studio 提供了 NuGet 包管理器,用于在项目中安装 NuGet 包。 您可以通过项目菜单或右键单击解决方案资源管理器中的项目来访问它。
图 3 - 解决方案资源管理器
图 4 - 项目菜单 > 管理 NuGet 软件包
选择后,浏览 IronPDF 软件包并安装,如下图所示。
图 5 - 从 NuGet 软件包安装 IronPDF
下载和安装 IronPDF C# 库的另一种方法是利用以下步骤,通过开发人员命令提示符安装 IronPDF NuGet 包。
打开开发者命令提示符 — 通常位于Visual Studio文件夹下
键入以下命令
Install-Package IronPdf
第三种方法是按照以下步骤下载并安装 IronPDF。 可以直接访问 NuGet 网站并下载软件包。 步骤如下
您可以直接从网站上下载 IronPDF 的 .DLL 文件。它可以直接从 IronPDF DLL 下载.
在您的项目中引用库,请按照以下步骤操作:
点击确定
全部完成! IronPDF 已下载、安装并准备就绪。 然而,在此之前,我们应该安装 PDFTron。
以下步骤将帮助您为用户工作设置 PDFtron SDK。
从.zip文件中提取文件夹。
本文使用 PDFNET_BASE 作为您解压缩文件夹的路径入口。
PDFNET_BASE = path/to/extraction/folder/PDFNetDotNet4/
// 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")
注: PDFTron 会收集一些有关您使用 SDK 的数据,用于改进产品。
在 Visual Studio 中为您选择的语言创建一个新的 .NET Framework 控制台应用程序项目。 您可以在Visual C#类别下找到它们。
导航到您项目的文件夹中。 默认情况下,路径应类似于:C:/Users/User_Name/source/repos/myApp
将 Lib 文件夹从 PDFNET_BASE 复制到您的项目文件夹(包含 .csproj 文件的文件夹).
在右边找到解决方案资源管理器。 右键单击“引用”并选择“添加引用”选项。 这将打开一个引用管理器对话框。
点击浏览... 在对话框的底部。 导航到复制的 Lib 文件夹并将 PDFNetLoader.dll 添加到引用中。
还需从x86文件夹添加适当版本的PDFNet.dll作为另一个引用。(path/to/your/project/folder/Lib/PDFNet/x86/PDFNet.dll). 此版本将允许应用程序在32位和64位操作系统上运行。
选择 PDFNet.dll 并将其“复制本地”属性设置为“False”。
图 6 - PDFTron - copy_local_false
<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>
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
本节将介绍NuGet集成步骤。
执行前两步手动集成。
右键单击项目依赖项,然后单击管理 NuGet 包... 这将打开 NuGet 包管理器。
点击包管理器顶部附近的浏览标签。 在搜索栏输入:PDFTron.NET.x64
图 7 - PDFTron - 使用 NuGet 软件包进行安装
这两个库都提供将 HTML 网页转换为 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")
HTML2PDF 模块是一个可选的附加工具,可以与 PDFTron SDK 一起使用,将 HTML 文件转换为 PDF 文档,无需任何外部第三方依赖。
请注意:需要 HTML2PDF 模块下载 附加功能。 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);
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF
' Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5")
' Start with a PDFDoc (the conversion destination)
Dim doc As New PDFDoc()
Dim converter As New HTML2PDF()
' add from a web page location
converter.InsertFromURL(webPageLocation)
' apply conversion
converter.Convert(doc)
doc.Save("url.pdf", SDFDoc.SaveOptions.e_linearized)
IronPDF和PDFTron都提供了从包含HTML的字符串生成PDF的功能。 两者仅使用两行代码来完成这项任务。
下面的代码显示了使用 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");
Imports IronPdf
Private 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
Dim PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
PDF.SaveAs("html-with-assets.pdf")
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);
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF
' Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5")
' Start with a PDFDoc (the conversion destination)
Dim doc As New PDFDoc()
Dim converter As 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)
IronPDF可以通过一行代码轻松将ASPX网页转换为PDF,而PDFTron技术缺乏这种直接转换功能。
以下代码使用 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
在 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
这是一些示例 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)
PDFTron SDK for .NET 下一代软件应用程序提供为免费试用产品,可以使用演示许可证密钥进行测试。 关于产品的许可和定价没有详细信息,这里的许可程序绝对不是直截了当的,因为您需要联系销售部门根据您的需求获取定制报价。 您可以访问这个 PDFTron 定价信息 获取更多信息。
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产品。