比較

PdfPig vs IronPDF:技術比較指南

PdfPigvs IronPDF:PDF 閱讀函式庫 vs .NET 中的完整 PDF 解決方案。

當 .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 授權,無授權費用 - **包含位置資料的文字萃取**:準確擷取具有位置資料的文字,並細緻處理字型字體 - **Word-Level Analysis**:提供字詞邊界框以進行版面分析 - **Pure .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