在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
在當今的互聯網時代,有無數的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平台相容性的摘要:
作業系統和處理器: 支援多種不同的作業系統和處理器,包括 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:缺乏對加蓋戳記的原生支援。
使用類似於 HTML/CSS 的代碼,IronPDF 使流程變得壓印文字和圖像到您的 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 檔案將 DOCX 轉換為 PDF 格式輕鬆且無需繁瑣的設置。IronPDF 的 DOCX 到 PDF 轉換工具雖然易於實施,但提供了一種強大的方法來執行 DOCX 到 PDF 的轉換。 Puppeteer Sharp 只真正支援將 HTML 轉換為 PDF,因此,如果您想將其他檔案類型轉換為 PDF 格式,您需要考慮安裝額外的庫。
深入了解使用 IronPDF 將 DOCX 轉換為 PDF 的過程,閱讀此操作指南.
IronPDF擁有不同的等級和額外功能可供購買許可證。 開發人員還可以購買IronSuite可讓您以兩個產品的價格獲得所有 IronSoftware 的產品。 如果您還沒準備好購買許可證,IronPDF 提供一個免費試用持續30天。
IronSuite:花費 $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 可能是適合您的工具。
您可以嘗試使用 0 天免費試用 查看他們的可用功能。