在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
與 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 的創建而不是轉換。因此,如果你正在尋找一個內置轉換支持的庫,IronPDF 會是這裡的最佳選擇。
當你想將 HTML 內容或網頁轉換為 PDF 格式時,IronPDF 提供了一個強大而簡潔的工具來處理這項任務,而 PdfPig 則沒有內置工具,需要依賴外部庫。
當您處理任何敏感或私人 PDF 文件時,您將需要一個能夠處理安全任務的 PDF 工具,例如 加密 PDF 文件,編輯文件元數據,並添加密碼。現在,讓我們看看這些工具將如何處理這種情況。
IronPDF 程式碼範例:
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 代碼範例:
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 Code Example:
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 具有不同层级和额外功能的许可证可供购买。开发人员还可以购买 IronSuite ,讓您以兩個產品的價格獲得所有IronSoftware的產品。如果您還沒準備購買授權,IronPDF提供 免費試用 30天。
PdfPig 根據 Apache 許可證 2.0 授權。這意味著 PdfPig 庫是免費使用的,只要你遵循此許可證條款的指南。雖然它是免費的,因此使 PdfPig 比 IronPDF 使用起來更便宜,但是與更昂貴的庫如 IronPDF 比較時,它在功能和支援等方面有所欠缺。
IronPDF 提供強大的文件和支援選項,確保開發者能夠充分利用該庫:
欲瞭解更多資訊,請查閱 IronPDF 的廣泛文件。 文檔,並訪問 IronSoftware YouTube 頻道。
選擇合適的PDF庫主要取決於您需要執行的任務和您的預算。如果您正在尋找更具成本效益的選擇,並且只需要基本的任務如創建PDF文檔、閱讀PDF文檔和從中提取內容,那麼PdfPig可能更適合您。
然而,如果您打算執行更複雜的任務並希望擁有一個集所有工具於一處的解決方案,則IronPDF是最好的選擇。IronPDF具備強大且豐富的功能集、大量的文檔及易於訪問的支持,這些都能使IronPDF成為您工作區中的重要補充。