比較

PDF Duo vs IronPDF:技術比較指南

PDF Duo vs IronPDF:晦澀不明的函式庫 vs 生產就緒的 PDF 解決方案。

當 .NET 開發人員尋找 PDF 產生函式庫時,他們偶爾會遇到 PDF Duo .NET--一個在生態系統中難以找到且較不知名的選項。 本比較將研究 PDF Duo 與 IronPDF,分析函式庫的可行性、文件品質、功能完整性以及長期可維護性,以協助開發人員與架構人員針對其 PDF 工作流程做出明智的決策。

什麼是 PDF Duo? PDF Duo .NET 是一個函式庫,目的是在 .NET 應用程式中將 HTML 和其他格式轉換為 PDF。 該函式庫提供一個 `HtmlToPdfConverter` 類用於 HTML 到 PDF 的轉換,以及一個 `PdfMerger` 類用於合併 PDF 文件。 然而,PDF Duo .NET 提出了影響其實際可用性的重大挑戰。 圖書館的特點是文件有限、社區參與稀少,以及持續支援與維護的不確定性。 PDF Duo 與成熟的函式庫不同,其來源不明 - 沒有可見的 GitHub 套件庫、有限的 NuGet 下載統計,以及不確定的授權條款。 圖書館的支援論壇顯示活動極少(帖子可追溯至 2019 年),而且沒有官方 API 參考資料或全面的教學。 這些因素對於任何生產級應用程式都會造成相當大的風險。

什麼是 IronPDF? [IronPDF](https://ironpdf.com/) 是 Iron Software 積極開發和維護的 .NET 全面 PDF 函式庫。 [ChromePdfRenderer](https://ironpdf.com/object-reference/api/IronPdf.ChromePdfRenderer.html) 類使用基於 Chromium 的現代渲染引擎將 HTML、CSS 和 JavaScript 轉換成高保真 PDF 文件。 IronPDF 的 NuGet 下載量已超過 4100 萬次,在生產環境中擁有良好的記錄。 資料庫提供廣泛的說明文件、專業支援和定期更新,確保與目前的 .NET 版本相容。 除了基本的轉換功能外,IronPDF 還提供 PDF Duo 無法提供的功能:帶有頁碼的頁首和頁尾、水印、密碼保護、文字萃取以及 PDF 到圖像的轉換。 ## 庫可行性比較 PDF Duo 與IronPDF的根本差異在於函式庫的成熟度和支援基礎架構。 |範疇|PDF Duo .NET|IronPDF| |--------|--------------|---------| |**維護**|未知/無活動|主動開發| |**說明文件**|幾乎不存在|全面性| |<強>支援Hello World

This is a PDF document.

"; converter.ConvertHtmlString(htmlContent, "output.pdf"); Console.WriteLine("PDF created successfully!"); } } ``` **IronPDF HTML-to-PDF 方法:** ```csharp // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); var htmlContent = "

Hello World

This is a PDF document.

"; var pdf = renderer.RenderHtmlAsPdf(htmlContent); pdf.SaveAs("output.pdf"); Console.WriteLine("PDF created successfully!"); } } ``` PDF Duo 的 `ConvertHtmlString()` 方法同時接收 HTML 內容和輸出路徑,直接儲存到檔案系統。IronPDF的 `RenderHtmlAsPdf()` 會返回一個 `PdfDocument` 物件,可在儲存前進一步操作。 IronPDF 中的 [HTML 至 PDF 轉換](https://ironpdf.com/how-to/html-file-to-pdf/)方法提供了一個可鏈接的 API - 您可以在呼叫 `SaveAs()` 之前,套用水印、新增安全設定,或從產生的 `PdfDocument` 中抽取文字。 ## URL 至 PDF 轉換 將網頁轉換為 PDF 文件時,每個資料庫都遵循類似的模式。 **PDF Duo URL-to-PDF 方法:** ```csharp // NuGet: Install-Package PDFDuo.NET using PDFDuo; using System; class Program { static void Main() { var converter = new HtmlToPdfConverter(); converter.ConvertUrl("https://www.example.com", "webpage.pdf"); Console.WriteLine("Webpage converted to PDF!"); } } ``` **IronPDF URL-to-PDF 方法:** ```csharp // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf("https://www.example.com"); pdf.SaveAs("webpage.pdf"); Console.WriteLine("Webpage converted to PDF!"); } } ``` 兩個函式庫都使用各自的轉換器/渲染器來處理 URL 轉換。IronPDF的 [RenderUrlAsPdf](https://ironpdf.com/how-to/url-to-pdf/) 方法會傳回一個 `PdfDocument` 物件,提供儲存前額外操作的彈性。 關鍵差異在於渲染品質。 PDF Duo 的底層呈現引擎未知,因此 CSS 和 JavaScript 支援無法預測。 IronPdf 基於 Chromium 的引擎提供現代網頁標準支援,包括 CSS3、Flexbox、Grid 和 JavaScript 執行。 ## PDF 合併 文件合併展示了不同程式庫之間的不同架構方法。 **PDF Duo 合併方式:** ```csharp // NuGet: Install-Package PDFDuo.NET using PDFDuo; using System; class Program { static void Main() { var merger = new PdfMerger(); merger.AddFile("document1.pdf"); merger.AddFile("document2.pdf"); merger.Merge("merged.pdf"); Console.WriteLine("PDFs merged successfully!"); } } ``` **IronPDF 合併方式:** ```csharp // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var pdf1 = PdfDocument.FromFile("document1.pdf"); var pdf2 = PdfDocument.FromFile("document2.pdf"); var merged = PdfDocument.Merge(pdf1, pdf2); merged.SaveAs("merged.pdf"); Console.WriteLine("PDFs merged successfully!"); } } ``` PDF Duo 使用專用的 `PdfMerger` 類,其 `AddFile()` 模式可在呼叫 `Merge()` 之前佇列檔案。IronPDF使用靜態<代碼>PdfDocument.Merge()new PdfMerger()PdfDocument.Merge()merger.AddFile(路徑)merger.Merge(輸出)converter.PageWidth = ...renderer.RenderingOptions.PaperSizeconverter.PageHeight = ...renderer.RenderingOptions.SetCustomPaperSize()。|個別邊界屬性|MarginTop 等。| |`settings.PageSize=PageSize.A4`。|`RenderingOptions.PaperSize=PdfPaperSize.A4`渲染選項。|紙張大小| |`settings.Orientation = Landscape`。|`RenderingOptions.PaperOrientation = Landscape`。|導向| ### PDF Duo 無法提供的功能 |特點|IronPDF| |---------|---------| | 頁首/頁尾 |`RenderingOptions.HtmlHeader`、`HtmlFooter`| |頁數|`{page}`、`{total-pages}`占位符| | 水印 |`pdf.ApplyWatermark(html)`。| |密碼保護|<編碼>pdf.SecuritySettingspdf.ExtractAllText()pdf.RasterizeToImageFiles()pdf.SignWithFile()文件組裝的IronPDF合併功能