比較

PdfPig vs IronPDF:技術比較指南

當 .NET 開發人員處理 PDF 文件時,他們經常會尋找能夠處理讀取、提取和生成 PDF 文件等任務的庫。 在眾多可用選項中,pdfpig 已成為一款主要專注於讀取和提取 PDF 內容的工具。 本文將 pdfpig 與IronPDF進行比較,檢視它們在架構、功能完整性和對各種應用需求的適用性上的差異。

什麼是PdfPig? PdfPig 是專為 C# 設計的開放原始碼 PDF 閱讀與萃取函式庫。 它允許開發人員準確地存取 PDF 內容,並提供從 PDF 文件中提取文字、圖像、表單資料和元資料的工具。 pdfpig 採用 Apache 2.0 授權授權,既是開源軟體,又對商業使用者友好,允許對其進行修改,並作為專有應用程式的一部分進行分發。 雖然 pdfpig 在提取功能方面表現出色,但其範圍僅限於解析現有文件。 該函式庫無法從 HTML、URL 或程式化的方式建立 PDF - 它只專注於閱讀已有的內容。 pdfpig 的主要特點包括 -**唯讀模式:**專為 PDF 解析與擷取而設計 -**開源:**採用 Apache 2.0 許可證,無需支付許可費用 -**基於位置資料的文本提取:**能夠精確提取包含位置資料的文本,並能妥善處理字元字體。 -**詞級分析:**提供用於佈局分析的單字邊界框 -**純 .NET:**無原生依賴,可在任何 .NET 運行環境中執行 -**基於 1 的頁面索引:**頁面存取採用基於 1 的索引方式

什麼是 IronPDF? [IronPDF](https://ironpdf.com/)是一個完整的 .NET 庫,提供完整的 PDF 生命週期管理。 [ChromePdfRenderer](https://ironpdf.com/object-reference/api/IronPdf.ChromePdfRenderer.html)類別使用基於 Chromium 的現代引擎進行 HTML 到 PDF 的轉換,而`PdfDocument`類別提供廣泛的操作和擷取功能。 不同於 pdfpig 只專注於閱讀,IronPDF 同時支援 PDF 產生與擷取,使其成為各種 PDF 相關工作的靈活選擇。 這個函式庫可處理 HTML 和 URL 的建立、文字萃取、文件處理、合併、水印、安全功能和數位簽章,所有這些都在單一的函式庫中完成。 ## 架構比較 pdfpig 和IronPDF的主要區別在於它們的範圍:唯讀與完整的 PDF 生命週期管理。 |範疇|PdfPig|IronPDF| |--------|--------|---------| |**主要焦點**|閱讀/摘錄|完整的 PDF 生命週期| |**PDF製作**|非常有限|全面性| |**HTML至PDF**|不支援|完整的 Chromium 引擎| |**URL轉PDF**|不支援|支援| |**文字萃取**| 出色的 | 出色的 | |**圖片擷取**|是|是| |**元資料存取**|是|是| |**PDF 操作**|不支援|合併、分割、旋轉| |**水印**。|不支援|支援| |**安全性/加密**|不支援|支援| |**表格填寫**|不支援|支援| |**數位簽名**|不支援|支援| |**頁面索引**|1 基於|基於 0| | **執照** |Apache 2.0 (免費)| 商業的 | |<強>支援Hello World

This is a PDF from HTML

"); pdf.SaveAs("output.pdf"); } } ``` PdfPig不能從HTML創建PDF-它根本不支援此功能。 該函式庫是專為閱讀和解析現有 PDF 文件而設計,而非產生新的 PDF 文件。 IronPDF 的 `ChromePdfRenderer` 使用現代 Chromium 引擎來轉換 HTML 內容,並完全支援 CSS3 和 JavaScript,從網頁內容產生高保真 PDF 輸出。 如需 HTML 至IronPDF轉換模式的詳細指引,請參閱 [HTML 至 PDF 教學](https://ironpdf.com/how-to/html-file-to-pdf/)。 ## PDF 元資料存取 閱讀 PDF 元資料顯示出類似的功能與不同的 API 模式。 **PdfPig 元資料閱讀:** ```csharp // NuGet: Install-Package PdfPig using UglyToad.PdfPig; using System; class Program { static void Main() { using (var document = PdfDocument.Open("input.pdf")) { var info = document.Information; Console.WriteLine($"Title: {info.Title}"); Console.WriteLine($"Author: {info.Author}"); Console.WriteLine($"Subject: {info.Subject}"); Console.WriteLine($"Creator: {info.Creator}"); Console.WriteLine($"Producer: {info.Producer}"); Console.WriteLine($"Number of Pages: {document.NumberOfPages}"); } } } ``` **IronPDF 元資料閱讀:** ```csharp // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var pdf = PdfDocument.FromFile("input.pdf"); var info = pdf.MetaData; Console.WriteLine($"Title: {info.Title}"); Console.WriteLine($"Author: {info.Author}"); Console.WriteLine($"Subject: {info.Subject}"); Console.WriteLine($"Creator: {info.Creator}"); Console.WriteLine($"Producer: {info.Producer}"); Console.WriteLine($"Number of Pages: {pdf.PageCount}"); } } ``` 這兩個函式庫都提供存取標準 PDF 元資料屬性的功能。PdfPig使用 `document.Information` 而IronPDF使用 `pdf.MetaData` 。 在 pdfpig 中透過<編碼>document.NumberOfPagespdf.PageCountPdfDocument.Open(路徑)PdfDocument.FromBinaryData(bytes)PdfDocument.Open(stream)document.NumberOfPagespdf.PageCountdocument.GetPages()pdf.Pagespdf.Pages[0]pdf.Pages[i].Textpdf.MetaData.Titlepdf.MetaData.Authorpdf.MetaData.Subjectpdf.MetaData.Creatorpdf.MetaData.ProducerPdfDocument.Merge(pdfs)pdf.CopyPages(start, end)pdf.Sign(證書)pdf.Form.GetFieldByName(name).Value