在生產環境中測試,無水印。
在任何需要的地方都能運行。
獲得 30 天的全功能產品。
在幾分鐘內上手運行。
試用產品期間完全訪問我們的支援工程團隊
在當今的互聯網時代,有無數的PDF庫可以處理各種與PDF相關的任務,那麼你該如何知道哪一個才是適合你的呢? 選擇滿足您需求的正確 PDF 庫主要取決於幾個要點:您特別需要哪些功能? 您需要一個可以處理複雜任務的工具,例如管理您的 PDF 文件的安全性和加密,還是只需要一個可以管理 HTML 到 PDF 轉換的工具?
您的預算是多少,您將多久使用一次這個工具? 如果您計劃經常使用,需要更多功能且預算充裕可以購買許可證,那麼付費會更適合您,但如果您只想要偶爾使用的輕量工具,那麼免費庫會更合適。 您需要哪些文件和支援? 每個庫都有自己的一套文件和支援,但這些選項的廣泛程度因庫而異。
今天,我們來仔細看看兩個特別的庫:IronPDF 和 Puppeteer Sharp,這兩個強大的 PDF 庫。
IronPDF 是一個強大的 PDF 程式庫,針對 .NET 開發人員,可在 .NET 環境中輕鬆生成和操作 PDF。 它支持多種功能,如將 HTML 轉換為 PDF、操作現有的 PDF、從圖像創建 PDF、加密 PDF 等等。 IronPDF 友好的 API、大量的文檔以及跨平台的兼容性使其成為開發人員尋求綜合 PDF 解決方案的首選。
Puppeteer Sharp 是 Node.js Puppeteer 庫的 .NET 移植版本。 它主要著重於控制無頭 Chrome,以自動化瀏覽器操作,例如捕捉螢幕截圖和從網頁生成 PDF。 雖然Puppeteer C#在處理瀏覽器相關任務方面提供了彈性,但它缺乏像IronPDF這樣的專用庫所提供的一些高級PDF功能。
IronPDF 因其廣泛的跨平台相容性而脫穎而出。 它支持 .NET 框架內的多種環境,確保在不同平台上流暢運行。 以下是IronPDF平台相容性的摘要:
.NET 版本:
完全用 C# 編寫並支援 VB.NET 和 F#
.NET Core (8, 7, 6, 5, 和 3.1+)
作業系統和處理器:支援多種不同的作業系統和處理器,包括 Windows、Mac、Linux、x64、x86、ARM
有關 IronPDF 相容性的更多詳細資訊,請造訪IronPDF 相容性。
在比較 IronPDF 與 Puppeteer C# 的 PDF 功能時,由於其豐富的功能集,IronPDF 在 .NET 中作為 PDF 生成和操作的更專業和強大的工具脫穎而出,而 Puppeteer Sharp 則是一個較小的庫,專注於一小部分專業化功能。 以下是一些關鍵功能比較:
PDF 編輯功能:使用 IronPDF,您可以處理現有的 PDF 文件、編輯它們,並輕鬆閱讀 PDF 文件。 IronPDF 提供編輯功能,例如添加頁首和頁尾、將文字和圖片蓋印到 PDF 頁面上、在 PDF 中添加自訂浮水印、處理 PDF 表單,以及拆分或合併 PDF 文件。
如需完整的 IronPDF 功能列表,請造訪 IronPDF 功能。
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
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
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
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
Puppeteer Sharp 示例:
await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
//launch a new browser instance
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = true //Runs the browser in headless mode
});
var page = await browser.NewPageAsync();
await page.GoToAsync("http://www.google.com");
await page.PdfAsync(outputFile);
await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
//launch a new browser instance
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = true //Runs the browser in headless mode
});
var page = await browser.NewPageAsync();
await page.GoToAsync("http://www.google.com");
await page.PdfAsync(outputFile);
Await (New BrowserFetcher()).DownloadAsync(BrowserFetcher.DefaultRevision)
'launch a new browser instance
Dim browser = Await Puppeteer.LaunchAsync(New LaunchOptions With {.Headless = True})
Dim page = Await browser.NewPageAsync()
Await page.GoToAsync("http://www.google.com")
Await page.PdfAsync(outputFile)
使用 IronPDF,只需幾行程式碼即可從 HTML 內容生成PDF 文件。 其對現代網頁標準的支持確保您每次都能獲得像素完美的 PDF。Puppeteer 雖然能夠通過短程程式碼從網頁內容生成 PDF,但對於不熟悉它的人來說,可能顯得更複雜。
如果您想深入了解IronPDF的HTML到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 file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
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 file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
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 file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now
' Edit file security settings
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")
Puppeteer Sharp:不原生支援; 需要其他庫。
IronPDF 可以輕鬆處理PDF 加密,讓您輕鬆確保 PDF 文件的安全。 提供多種選擇,您將完全掌控整個過程,而且易於理解和使用。 Puppeteer Sharp 不提供任何原生的 PDF 加密支持,因此如果您想加密 PDF 文件,則需要安裝其他庫。
IronPDF 可以處理 PDF 安全性、元資料等,無需任何外部程式庫,如果您有興趣了解 IronPDF 如何處理這些內容,請務必在操作指南中深入了解。
IronPDF 範例:
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
' Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are")
pdf.SaveAs("redacted.pdf")
Puppeteer Sharp:不原生支援。
如果您正在尋找可以處理 PDF 涂黑任務的工具,IronPDF 是適合您的工具。 它可以流暢地處理 PDF 編輯,僅需幾行代碼即可快速執行此任務,從而確保一個高效的流程。 然而,Puppeteer 無法處理 PDF 涂黑,因此您需要求助於其他 PDF 庫,如 iText、IronPDF 或 Aspose.PDF。
IronPDF 提供了一個詳盡的操作指南,以便您了解更多有關 PDF 涂黑的信息。
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.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.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")
Puppeteer Sharp:需要外部函式庫來簽署PDF。
IronPDF 直接支持PDF 簽名,提供一種簡單的方法來自動化所有 PDF 簽名任務,這是一個易於實施的簽名工具,只需幾行代碼即可完成。 另一方面,Puppeteer 不支持數位簽名的應用,因此如果您需要一個能夠處理這項功能的 PDF 函式庫,那麼您最好找到一個提供直接支援的,例如 IronPDF,或者如果您預算有限,免費的 PDF 工具如 PDFBox 或 iText7 社群版也提供 PDF 簽署功能。
IronPDF 包含多種方式來處理 PDF 簽名,請務必查看使用指南以了解這些方法的實際應用。 或者,IronSecureDoc 是 IronSoftware 提供的另一个强大工具,可处理您的 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")
Puppeteer Sharp:不支持原生水印功能。
IronPDF 的浮水印工具使用起來非常簡單,特別是對於那些熟悉 HTML 和 CSS 的人。 使用 IronPDF,您只需幾行代碼即可將自定義浮水印應用於您的任何 PDF 文件。 Puppeteer Sharp 不提供對 PDF 浮水印的支持,因此你需要考慮使用其他的 PDF 庫來完成這項任務。
如果您想更深入地了解 IronPDF 的浮水印工具,請查看其便利的操作指南以了解如何應用自訂浮水印。
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")
Puppeteer Sharp:缺乏對蓋章的原生支援。
IronPDF 使用類似於 HTML/CSS 的代碼,使將文字和圖像加蓋到 PDF 文件的過程變得簡單。 由於其重點更加集中於 PDF 生成和瀏覽器相關任務,Puppeteer Sharp 並不直接支持文本和圖像戳記。
了解更多關於使用 IronPDF 在 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")
Puppeteer Sharp:不直接支援 DOCX 到 PDF 的轉換。
只需幾行代碼,您就可以毫不費力地將DOCX 文件轉換為 PDF 格式,無需繁瑣的設置。IronPDF 的 DOCX 到 PDF 轉換工具雖然簡單易行,但提供了一種強大的 DOCX 到 PDF 轉換方法。 Puppeteer Sharp 只真正支援將 HTML 轉換為 PDF,因此,如果您想將其他檔案類型轉換為 PDF 格式,您需要考慮安裝額外的庫。
要深入了解使用IronPDF將DOCX轉換為PDF的過程,閱讀此操作指南。
IronPDF 有不同級別和額外功能可供購買許可證。 開發人員還可以購買 Iron Suite,該套件讓您以兩種產品的價格即可獲取Iron Software所有產品的使用權。 如果您尚未準備好購買許可證,IronPDF 提供30 天免費試用。
Iron Suite:只需 $1,498,即可使用所有 Iron Software 產品,包括 IronPDF、IronOCR、IronWord、IronXL、IronBarcode、IronQR、IronZIP、IronPrint 和 IronWebScraper。
Puppeteer Sharp 是一個免費使用的工具,因為它是一個基於社群的專案,並且是根據 MIT 許可證授權的。 雖然它在預算上較為友善,但與像 IronPDF 這樣的付費競爭對手相比,它提供的功能顯著較少。
總之,選擇適合您的 PDF 庫時,您需要考慮多方面的因素。 每個外部程式庫提供不同級別的支援、文件、定價以及該程式庫所支援的功能。 一些庫,比如 IronPDF,擁有豐富的功能集和詳盡的文件,同時在價格上相比其競爭對手仍然合理。 其他函式庫,例如 Puppeteer Sharp,可能是免費的,但這需要犧牲一些內建功能,而無法使用外部函式庫。
Puppeteer Sharp 是一個輕量級的函式庫,可以控制 Chrome 或 Chromium,具有更專門的功能集,側重於瀏覽器自動化和 HTML 到 PDF 的轉換。 它在需要無頭瀏覽器控制的情境中非常理想,例如抓取網頁內容或自動化基於網頁的任務。 雖然缺乏大量功能,但如果您在尋找一個簡單的 HTML 到 PDF 庫,它是一個預算友好的選擇,如果您已經熟悉 Puppeteer 的生態系統,則使用起來也很簡單。
IronPDF 提供了一個全面且功能豐富的 PDF 函式庫,能夠處理更廣泛的 PDF 相關任務,無需任何額外的函式庫。 使用 IronPDF,您可以從多種文件類型生成 PDF 文件,合併和分割 PDF 文件,應用水印,加密您的文件等。 具有豐富的文檔、積極的支援以及強大的跨平台相容性,如果您正在尋找一個可以處理高級 PDF 操作的工具,那麼 IronPDF 可能是適合您的工具。
您可以嘗試30天免費試用來查看他們的可用功能。