在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
处理PDF (便携式文档格式) 文件可能是您工作环境中不可或缺的一部分,从生成发票到为您的产品创建文档,您很可能会在生活中的某个时刻使用PDF。
然而,在当今技术驱动的世界中,PDF工具种类繁多,那么如何知道哪一个最适合您呢?今天我们将看看两个PDF工具,PdfPig和... IronPDF比较它们的功能、支持和许可模式。
IronPDF 是一款强大的 .NET PDF 库,可以在各种环境中实现生成、操作和处理PDF。无论您是想从HTML内容创建PDF文档、为现有PDF文件应用水印、完全控制PDF文件的安全设置,还是将PDF文件保存为图像,IronPDF都能满足您的需求。凭借详尽的文档和强大的支持团队,IronPDF确保您能够获得所有成功所需的资源。
PdfPig 是一个开源的Apache 2.0授权库,允许用户使用C#、F#和其他 .NET 语言读取和创建PDF。有了PdfPig,您可以创建简单的PDF文档、读取PDF文件、从PDF文件中提取内容等。虽然它的功能范围和文档不及IronPDF广泛,PdfPig仍然可以是一个有力的竞争者,为您提供处理PDF文件的简单方法。
在这一节中,我们将概述每个库当前提供的跨平台支持。这是今天比较的第一个重要步骤,因为在我们开始查看功能及其用例之前,您首先需要知道我们正在看的工具是否可以在您的工作环境中运行。
IronPDF 支持多种平台,确保您可以在首选环境中工作。以下是其兼容性的细分:
.NET 版本: (C#, VB.NET, F#)
.NET Core (8、7、6、5 和 3.1+)
更多信息,请访问 IronPDF兼容性.
.NET 版本
.NET Standard (2.0+)
IronPDF 和 PdfPig 都提供了一系列处理 PDF 文档的功能。以下是它们主要功能的比较:
有关 IronPDF 提供的功能的详细信息,请访问 IronPDF 功能.
HTML 转 PDF 转换是一个相对简单的任务,但根据您的需求,它可能会很有帮助。无论您是想创建一个记录您作品集网站的PDF文件,还是需要从HTML内容创建PDF用于您的工作环境,您都需要一个强大的HTML到PDF转换器,以便能够始终如一地生成高质量的PDF。
IronPDF代码示例:
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' Create a PDF from an HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
pdf.SaveAs("output.pdf")
' Advanced Example with HTML Assets
' Load external html assets: images, CSS and JavaScript.
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
PdfPig 代码示例:
PdfPig 本身不支持 HTML 到 PDF 的转换,需要使用第三方库来处理该转换。PdfPig 更倾向于处理 PDF 创建而不是 PDF 转换。因此,如果您正在寻找一个内置转换支持的库,IronPDF 会是一个好的选择。
当您需要将 HTML 内容或网页转换为 PDF 格式时,IronPDF 提供了一个强大且简洁的工具来处理此任务,而 PdfPig 没有这样的内置工具并依赖于外部库。
当您处理任何敏感或私密的PDF文件时,您会寻找一个能够处理安全任务的PDF工具,例如 加密 PDF 文件、编辑文档元数据以及添加密码。现在让我们看看这些工具如何处理这种情况。
IronPDF Code Example:
using IronPdf;
using System;
//Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
//Edit metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
//Edit file security settings
//The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
using System;
//Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
//Edit metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
//Edit file security settings
//The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
Imports IronPdf
Imports System
'Open an Encrypted File, alternatively create a new PDF from Html
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")
'Edit metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now
'Edit file security settings
'The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
' change or set the document encryption password
pdf.Password = "my-password"
pdf.SaveAs("secured.pdf")
PdfPig 代码示例:
PdfPig 不提供 IronPDF 所具有的内置 PDF 安全支持。由于该库的简化性质,您需要借助外部的 PDF 库来处理这些需要安全功能的任务。
在处理敏感的 PDF 文件时,IronPDF 提供了全面的安全功能,如加密、元数据编辑和密码保护,而 PdfPig 缺乏内置的安全支持,需要额外的库来完成这些任务。
如果你想要 编辑 从您的PDF文件中提取某些词或内容部分?这是处理PDF文件时的另一种常见需求,让我们看看这些PDF库是否能够胜任这项任务。
IronPDF 代码示例:
using IronPdf;
PdfDocument document = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
document.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
using IronPdf;
PdfDocument document = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
document.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
Imports IronPdf
Private document As PdfDocument = PdfDocument.FromFile("novel.pdf")
' Redact 'are' phrase from all pages
document.RedactTextOnAllPages("are")
pdf.SaveAs("redacted.pdf")
PdfPig 代码示例:
PdfPig 不提供从 PDF 文件中编辑内容的支持。
IronPDF 提供了一种简单的方法来从 PDF 文件中编辑内容,只需要几行代码。这意味着您可以轻松地自动化任何编辑任务,提高您工作场所的效率。而 PdfPig 则不提供此任务的支持。
虽然这不太可能成为你日常 PDF 操作需求的必要部分,但根据你的工作环境,可能会有时候需要你进行数字签名。 数字签名 您的PDF文件,因此我们现在将看看这两个工具如何处理这一点。
IronPDF Code Example:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")
' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
' Create PdfSignature object
Private sig = New PdfSignature(cert)
' Sign PDF document
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
PdfPig 代码示例:
PdfPig 不直接支持数字签名,您需要使用其他库或工具来完成这项工作。
如果你在寻找一个让PDF签名变得轻松的工具,IronPDF 的简洁方法不仅会帮助提高你执行这项任务的效率,还会让你完全控制这个过程。然而,PdfPig 不提供对 PDF 文件数字签名的任何支持。
您是否正在处理敏感文件或希望保护您的工作,避免他人盗用并声称是他们的作品?那么应用自定义 水印 在您的PDF页面中,这可能正是您需要的。让我们看看这些库是如何完成这一任务的。
IronPDF代码示例:
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
PdfPig 代码示例:
PdfPig 不直接支持水印。
虽然 PdfPig 不支持在您的 PDF 中添加水印,但 IronPDF 支持。利用其内置的水印应用支持,您可以完全控制整个过程,如果您熟悉 HTML 和 CSS,那么由于它使用 HTML/CSS 来应用水印,所以这将更加容易上手。
图像和文本的水印处理 将内容添加到您的PDF文件与应用水印在某种意义上是类似的,并且可以用于类似的原因,但这两个库可以执行此任务吗?
IronPDF 代码示例:
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Imports System
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create image stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
PdfPig 代码示例:
PdfPig 本身不支持将 PDF 图像对象或文本盖章到 PDF 文件上。如果您想将文本和图像盖章到 PDF 文档上,则需要使用其他库。
如果您正在寻找一个可以处理将文本和图像盖章到 PDF 上的工具,那么 IronPDF 是您需要的工具。借助其强大的内置盖章工具,您将完全控制整个过程,并能够将任何需要的内容盖章到文件上。如果您想在文本盖章器中添加不同的字体,IronPDF 支持 TrueType 格式的字体。PdfPig 不提供相同的支持,因此无法执行此任务。
除了将 HTML 转换为 PDF 之外,另一个常见的转换任务是 转换DOCX 将文件转换为PDF格式。因此,如果这是您日常工作中经常遇到的情况,或者只是偶尔需要一次,拥有一个可以轻松处理此任务的工具可以极大地提高您的工作效率。
IronPDF代码示例:
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()
' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
PdfPig 代码示例:
PdfPig 不支持 DOCX 转 PDF 转换。同样,正如我们在 HTML 转 PDF 转换中看到的那样,PdfPig 更专注于从头创建 PDF,而不是支持转换任务。
使用 IronPDF,DOCX 转 PDF 转换轻而易举。使用这个工具,你只需要几行代码就可以将任何 DOCX 文件转换为 PDF,既简洁又强大。而 PdfPig 则无法处理 DOCX 转 PDF 转换。
有关更多示例,请访问 IronPDF代码示例.
IronPDF 有不同等级和额外功能的许可证供购买。开发者还可以购买 Iron Suite 这将让您以两个产品的价格获取所有IronSoftware的产品。如果您还没准备好购买许可证,IronPDF提供一个 免费试用 有效期为30天。
PdfPig 授权遵循 Apache 2.0 许可协议。这意味着只要遵循此许可协议的条款,您可以免费使用 PdfPig 库。虽然它是免费的,使得 PdfPig 相比 IronPDF 使用成本更低,但与更昂贵的库如 IronPDF 相比,它在功能和支持等方面有所欠缺。
IronPDF 提供强大的文档和支持选项,以确保开发人员能够充分利用该库:
欲了解更多信息,请查看IronPDF的广泛 文献资料,以及访问IronSoftware的YouTube频道。
选择一个适合自己的PDF库,取决于你需要完成的任务和你的预算。如果你在寻找一个更经济的选择,并且只需要完成基本任务,例如PDF文档创建、阅读PDF文档和从中提取内容,那么PdfPig可能更适合你。
然而,如果你需要完成更复杂的任务,并且希望拥有一个集成了所有工具的工作环境,那么IronPDF是最佳选择。IronPDF具有强大的、丰富的功能集、广泛的文档支持和便捷的访问支持,它可以成为你工作空间的一个强大补充。