遷移指南
如何在 C# 中從 EO.Pdf 遷移到 IronPDF
從 EO.Pdf 遷移到 IronPDF:完整的 C# 遷移指南。
EO.Pdf 是一個商用的 .NET PDF 函式庫,利用基於 Chromium 的渲染技術進行 HTML 到 PDF 的轉換。 雖然 EO.Pdf 提供符合 W3C 標準的渲染,但其架構卻帶來了重大的挑戰:126MB 的龐大套件大小會導致 Docker 映像檔膨脹並減慢部署速度,其基於原始 Internet Explorer 引擎的遺留包袱,靜態全局選項對於多租戶應用程式而言不是線程安全的,以及以 Windows 為中心的設計(儘管有跨平台的宣稱)。 這份全面的指南提供了從 EO.Pdf 到IronPDF的逐步遷移路徑 -IronPDFfor .NET 是一個現代化的 .NET PDF 函式庫,具有最佳化的 Chromium 包裝、基於實例的線程安全組態,以及真正的跨平台支援。
為什麼要從 EO.Pdf 轉移到 IronPDF? EO.Pdf 提出了幾項架構上的挑戰,促使開發團隊評估替代方案。 了解這些問題對於規劃您的移轉策略至關重要。 ### EO.Pdf 的問題 1.**大容量的126MB套件大小**:EO.Pdf 綁定了自己的 Chromium 引擎,因此部署時會佔用126MB的空間。 這會擴大 Docker 映像、減慢 CI/CD 管道速度,並增加基礎架構成本。 2.**Legacy Architecture Baggage**:EO.Pdf 在轉移到 Chromium 之前,原本是建構在 Internet Explorer 的渲染引擎上。 這些遺留的問題包括 IE 時代的相容性、API 設計上的技術負債,以及不同版本間不一致的行為。 3.**以 Windows 為中心的設計**:儘管 EO.Pdf 以"跨平台"行銷,但對 Linux 和 macOS 的支援有限。 許多開發人員報告了非 Windows 部署的問題。 4.**靜態全局選項**:EO.Pdf 使用靜態 `HtmlToPdf.Options` 進行設定,這並非線程安全,而且在多租戶 web 應用程式中會有問題。 5.**每個授權 799 美元**:EO.Pdf 每份開發人員授權的價格為 799 美元,相較於提供類似或更好功能的替代方案,EO.Pdf 的價格較為昂貴。 ### 架構比較 |範疇| EO.Pdf |IronPDF| |--------|--------|---------| |**套件大小**|126MB|已優化 (~50MB)| |**法律問題**|IE 移動包袱|乾淨、現代化的程式碼| | **平台支援** |以 Windows 為重點|真正的跨平台| |**配置**|靜態/全局(非線程安全)|基於實例、線程安全| |**API 設計**|混合 (HtmlToPdf + ACM)|統一、一致| |**說明文件**|限額|全面的教學| |**現代 .NET**|.NET 標準|.NET 6/7/8/9+ 原生| |**Async 支援**|限額|完整的 async/await| ### 主要遷移優勢 1.**50% Smaller Footprint**:IronPDF 優化的 Chromium 包裝 2.**真正的跨平台**:可在 Windows、Linux、macOS、Docker 上以相同方式運作 3.**線程安全組態**:基於實例的呈現器選項 4.**現代化的 API**:一致、直覺的方法名稱 5.**更完善的說明文件**:大量的教學與範例 ## 遷移前的準備工作 ### 先決條件 確保您的環境符合這些要求: - .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/) 網站免費試用) ### 審核 EO.Pdf 使用情況 在您的解決方案目錄中執行這些指令,以辨識所有 EO.Pdf 參考資料: ```bash # Find all EO.Pdf references grep -r "EO.Pdf\|HtmlToPdf\|AcmRender\|PdfDocument" --include="*.cs" . # Check NuGet packages dotnet list package | grep -i "EO.Pdf" ``` 需要尋找的常見 EO.Pdf 命名空間: - `EO.Pdf` - Core HTML to PDF - `EO.Pdf.Acm` - 進階內容模型 (ACM) - `EO.Pdf.Contents` - 低階內容處理 - `EO.Pdf.Drawing` - 圖形操作 ### 瞭解核心模式變更 EO.Pdf 與IronPDF在架構上最顯著的差異在於配置範圍。 EO.Pdf 使用具有全局選項的靜態方法,這些選項會影響所有的轉換 - 這種模式會導致 web 應用程式中的線程安全問題。IronPDF使用具有本地選項的基於實例的渲染器,確保每次轉換都是獨立的。 ## 逐步遷移的過程 ### 步驟 1:更新 NuGet 套件 移除 EO.Pdf 並安裝 IronPDF: ```bash # Remove EO.Pdf dotnet remove package EO.Pdf # Install IronPDF dotnet add package IronPdf ``` ### 步驟 2:更新命名空間參考資料 用IronPDF取代 EO.Pdf 命名空間: ```csharp // Remove these using EO.Pdf; using EO.Pdf.Acm; // Add this using IronPdf; ``` ### 步驟 3:配置授權 ```csharp // Add at application startup (Program.cs or Startup.cs) IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; ``` ## 完整的 API 遷移參考。 ### 核心類映射 |EO.Pdf 類別|IronPdf 同等級產品| 筆記 | |-------------|-------------------|-------| |<編碼>HtmlToPdf編碼>ChromePdfRendererPDF 文件PDF 文件HtmlToPdfOptionsAcmRenderAcmText`, `
`| | |<編碼>AcmBlock編碼>`| | ### 方法映射 |EO.Pdf 方法|IronPdf 方法| 筆記 | |--------------|----------------|-------| |`HtmlToPdf.ConvertHtml(html,path)`。|`renderer.RenderHtmlAsPdf(html)` 然後是 `SaveAs(path)`|IronPDF 中的兩個步驟| |`HtmlToPdf.ConvertUrl(url,path)`。|`renderer.RenderUrlAsPdf(url)` 然後是 `SaveAs(path)`| | |<代碼>PdfDocument.Save(路徑)代碼>pdf.SaveAs(路徑)
Hello World
This is a PDF generated from HTML.