跳過到頁腳內容
遷移指南

如何用 C# 從 ExpertPdf 轉移到 IronPDF

從ExpertPdf轉移到 IronPDF:完整的 C# 遷移指南。

ExpertPdf 是適用於 .NET 的商用 HTML-to-PDF 轉換器,已為開發人員服務多年。 然而,在當今快速發展的開發環境中,ExpertPdf 面臨重大挑戰:文件自 2018 年起被凍結、依賴錯過現代 CSS3 功能的 Chrome 舊版、過時技術的保費定價從 550 美元到 1,200 美元不等、零散的產品套件需要合併、安全和分割的獨立授權。 這份全面的指南提供了從ExpertPdf到IronPDF的逐步遷移路徑--IronPDF 是一個現代化的 .NET PDF 函式庫,具有最新的 Chromium 演算技術、每月更新以及多合一套件架構。

為何要從ExpertPdf轉移到 IronPDF? ExpertPdf 提出了幾項挑戰,促使開發團隊評估現代的替代方案。 了解這些問題對於規劃您的移轉策略至關重要。 ###ExpertPdf的問題 1.**Documentation Frozen Since 2018**:ExpertPdf 的文档已超过 6 年未更新。 隨著 .NET 生態系統的演進,尋找最新資訊、範例和最佳實務變得越來越困難。 2.**過時的 Chrome 版本**:ExpertPdf 依賴傳統版本的 Chrome 進行渲染。 現代 CSS3 功能 (Flexbox、Grid、CSS 變數) 可能無法正確呈現,且未套用安全修補程式。 3.**針對傳統技術的高級定價**:ExpertPdf 的每個授權價格為 550 美元至 1,200 美元,在提供過時渲染技術的同時收取高價。 4.**Fragmented Product Suite**:ExpertPdf 銷售不同功能的獨立套件 - HTMLToPdf Converter、PDF Merger、PDF Security、PDF Splitter 和 PDF to Image - 每個套件都需要獨立的授權。 5.**有限的現代 .NET 支援**:雖然ExpertPdf有 .NET Core 套件,但它們落後於現代的 .NET 版本與實作。 ### 架構比較 |範疇|ExpertPdf|IronPDF| |--------|-----------|---------| |**說明文件**|自 2018 年起凍結|持續更新| |**渲染引擎**|舊版 Chrome|最新的 Chromium| |**CSS 支援**|有限的 CSS3|完整的 CSS3 (Flexbox、Grid)| |**價格**|$550-$1,200|有競爭力的定價| |**更新頻率**|不經常|每月發佈| |**產品模式**|零散 (5+ DLL)|多合一程式庫| |**現代 .NET**|限額|.NET 6/7/8/9+ 原生| |**Async 支援**|限額|完整的 async/await| ### 主要遷移優勢 1.**現代化渲染**:最新的 Chromium 引擎可提供完美的像素輸出 2.**All-in-One Package**:PDF 生成、合併、安全性、萃取集於一體的 NuGet 3.**主動開發**:每月更新新功能和安全修補程式 4.**更完善的說明文件**:全面的教學與範例 5.**真正的跨平台**:Windows、Linux、macOS、Docker 支援 ## 遷移前的準備工作 ### 先決條件 確保您的環境符合這些要求: - .NET Framework 4.6.2+ 或 .NET Core 3.1 / .NET 5-9 - Visual Studio 2019+ 或具有 C# 擴充功能的 VS Code - NuGet 套件管理員存取權限 -IronPDF授權金鑰 (可於 [ironpdf.com](https://ironpdf.com/licensing/) 網站免費試用) ### 審計專家 PDF 使用方式 在您的解決方案目錄中執行這些指令,以識別所有ExpertPdf參考資料: ```bash # Find allExpertPdfreferences grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" . # Check NuGet packages dotnet list package | grep -i "ExpertPdf" ``` 需要尋找的常見ExpertPdf套件: - `ExpertPdf.HtmlToPdf` - HTML 至 PDF 的轉換 - `ExpertPdf.PDFMerge` - PDF 合併 - `ExpertPdf.PDFSecurity` - 加密和密碼 - `ExpertPdf.PDFSplit` - PDF 分割 - `ExpertPdf.PdfToImage` - PDF 到圖像的轉換 ### 瞭解核心模式變更 ExpertPdf 使用<編碼>PdfConverterChromePdfRendererPdfConverterChromePdfRendererPdfDocumentOptionsPdfHeaderOptionsPdfFooterOptionsPDFMergePdfDocument.Merge()renderer.RenderHtmlAsPdf(html).BinaryDatarenderer.RenderUrlAsPdf(url).BinaryData| | |<編碼>PdfDocumentOptions.MarginTopPdfHeaderOptions.HeaderTextTextHeader.CenterTextPdfFooterOptions.FooterTextTextFooter.RightTextHello World

This is a PDF document.

"); // Save to file System.IO.File.WriteAllBytes("output.pdf", pdfBytes); Console.WriteLine("PDF created successfully!"); } } ``` **IronPDF 實作:** ```csharp // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { // Create a PDF from HTML string var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("

Hello World

This is a PDF document.

"); // Save to file pdf.SaveAs("output.pdf"); Console.WriteLine("PDF created successfully!"); } } ``` IronPDF 的方法會回傳一個 `PdfDocument` 物件,可在儲存之前進行其他操作(合併、水印、安全性)。 如需更多選項,請參閱 [HTML to PDF 文件](https://ironpdf.com/how-to/html-file-to-pdf/)。 ### 具有頁面設定的 URL 至 PDF **ExpertPdf 實作:** ```csharp // NuGet: Install-Package ExpertPdf.HtmlToPdf using ExpertPdf.HtmlToPdf; using System; class Program { static void Main() { // Create the PDF converter PdfConverter pdfConverter = new PdfConverter(); // Set page size and orientation pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4; pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait; // Convert URL to PDF byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl("https://www.example.com"); // Save to file System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes); Console.WriteLine("PDF from URL created successfully!"); } } ``` **IronPDF 實作:** ```csharp // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { // Create a PDF renderer var renderer = new ChromePdfRenderer(); // Set page size and orientation renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait; // Convert URL to PDF var pdf = renderer.RenderUrlAsPdf("https://www.example.com"); // Save to file pdf.SaveAs("webpage.pdf"); Console.WriteLine("PDF from URL created successfully!"); } } ``` IronPDF 的 `RenderingOptions` 為頁面配置提供了直接的屬性存取。 如需更多選項,請參閱 [URL 至 PDF 文件](https://ironpdf.com/how-to/url-to-pdf/)。 ### 帶有頁碼的頁首和頁尾 本範例展示了頁首/頁腳配置的關鍵差異-ExpertPdf 使用獨立的<代碼>PdfHeaderOptionsPdfFooterOptions
Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。