MIGRATION GUIDES How to Migrate from PDFPrinting.NET to IronPDF in C# Curtis Chau 發表日期:2026年2月1日 下載 IronPDF NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 從 PDFPrinting.NET 遷移到 IronPDF 可以將您的 PDF 功能從僅列印庫擴展到處理完整 PDF 生命週期的綜合解決方案,包括建立、操作、提取、安全性和列印。 本指南提供了一條完整的、循序漸進的遷移路徑,在保留您現有列印工作流程的同時,增加了 PDF 生成、HTML 轉換和跨平台支援功能。 為什麼要從 PDFPrinting.NET 遷移到 IronPDF 了解 PDFPrinting.NET PDFPrinting.NET 是一款專業的解決方案,在靜默 PDF 列印方面提供了無與倫比的簡單性和高效性。 PDFPrinting.NET 主要在 Windows 生態系統中運行,是一個商業庫,旨在專門滿足需要在應用程式中整合 PDF 列印功能的開發人員的需求。 PDFPrinting.NET 是一款專注於靜默、穩定地列印 PDF 的專用工具,它在簡化以編程方式列印文件而無需用戶幹預這一通常很複雜的任務方面找到了自己的定位。 PDFPrinting.NET 最顯著的優勢之一是能夠靜默列印文件。 它繞過了通常的列印對話框,實現了完全自動化的工作流程,這對於用戶互動要求極低的應用程式至關重要。 僅限列印的限制 PDFPrinting.NET 的一個明顯限制在於它只處理 PDF 處理的列印方面。 它無法建立、修改或操作 PDF 文檔,這限制了其對需要完整 PDF 文檔生命週期解決方案的開發人員的實用性: 1.僅列印:不能建立、編輯或操作 PDF 文件。 2.僅限 Windows:與 Windows 列印基礎架構綁定-不支援 Linux/macOS。 由於依賴 Windows 列印基礎架構,其適用範圍僅限於 Windows 環境,從而限制了跨平台可用性。 3.無法產生 PDF:無法將 HTML、URL 或資料轉換為 PDF。 4.不支援文件操作:無法合併、分割、新增浮水印或保護 PDF 文件。 5.無法提取文字:無法讀取或提取 PDF 中的內容。 6.不支援表單處理:無法填寫或展平 PDF 表單。 PDFPrinting.NET 與 IronPDF 的比較 特徵 PDFPrinting.NET IronPDF 主要功能 靜默 PDF 列印 全流程處理(建立、編輯、列印) 平台支援 僅限 Windows 系統 跨平台 PDF建立/編輯功能 不 是的 HTML 轉 PDF 不 是的 適用於自動化工作流程 高的 高的 其他依賴項 依賴 Windows 印表機。 用於渲染的內部瀏覽器引擎 靜默列印 是的 是的 文字擷取 不支援 全力支持 授權 商業的 商業的 IronPDF 透過解決 PDF 處理的完整生命週期,提供了一個更全面的解決方案。 它方便用戶創建、編輯、轉換和列印 PDF 文檔,並透過統一的 API 為開發者提供一整套功能。 與 PDFPrinting.NET 不同,IronPDF 可以跨不同平台部署,因此對於在各種環境下運行的應用程式來說,它是一個用途廣泛的選擇。 對於計劃在 2025 年和 2026 年採用 .NET 10 和 C# 14 的團隊,IronPDF 提供了一個完整的 PDF 解決方案,可在 Windows、Linux 和 macOS 環境下運作。 開始之前 先決條件 .NET 環境: .NET Framework 4.6.2+ 或 .NET Core 3.1+ / .NET 5/6/7/8/9+ NuGet 存取權限:能夠安裝 NuGet 套件 IronPDF 許可證:請從ironpdf.com取得您的許可證密鑰。 NuGet 套件變更 # Remove PDFPrinting.NET dotnet remove package PDFPrinting.NET # Install IronPDF dotnet add package IronPdf # Remove PDFPrinting.NET dotnet remove package PDFPrinting.NET # Install IronPDF dotnet add package IronPdf SHELL 許可證配置 // Add at application startup (Program.cs or Startup.cs) IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Add at application startup (Program.cs or Startup.cs) IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; $vbLabelText $csharpLabel 識別 PDFPrinting.NET 的使用情況 # Find PDFPrinting.NET usage grep -r "PDFPrinting\|PDFPrinter" --include="*.cs" . # Find print-related code grep -r "\.Print(\|PrinterName\|GetPrintDocument" --include="*.cs" . # Find PDFPrinting.NET usage grep -r "PDFPrinting\|PDFPrinter" --include="*.cs" . # Find print-related code grep -r "\.Print(\|PrinterName\|GetPrintDocument" --include="*.cs" . SHELL 完整 API 參考 命名空間變更 // Before: PDFPrinting.NET using PDFPrinting.NET; using PDFPrintingNET; // After: IronPDF using IronPdf; using IronPdf.Rendering; using IronPdf.Printing; // Before: PDFPrinting.NET using PDFPrinting.NET; using PDFPrintingNET; // After: IronPDF using IronPdf; using IronPdf.Rendering; using IronPdf.Printing; $vbLabelText $csharpLabel 核心類別映射 PDFPrinting.NET IronPDF 筆記 PDFPrinter PdfDocument 核心 PDF 對象 HtmlToPdfConverter ChromePdfRenderer PDF生成 WebPageToPdfConverter ChromePdfRenderer URL轉換 列印設定屬性 PrintSettings 列印配置 印刷方法映射 PDFPrinting.NET IronPDF 筆記 printer.Print(filePath) pdf.Print() 列印到預設印表機 printer.Print(path, printerName) pdf.Print(printerName) 列印到指定印表機 printer.PrinterName = "..." pdf.Print("...") 指定印表機 printer.GetPrintDocument(path) pdf.GetPrintDocument() 取得列印文檔 printer.Copies = n printSettings.NumberOfCopies = n 拷貝數 printer.Duplex = true printSettings.DuplexMode = Duplex.Vertical 雙面列印 printer.CollatePages = true printSettings.Collate = true 整理 PDFPrinting.NET 中不提供新功能 IronPDF 功能 描述 renderer.RenderHtmlAsPdf(html) HTML 轉 PDF renderer.RenderUrlAsPdf(url) URL 轉 PDF PdfDocument.Merge(pdfs) 合併多個PDF文件 pdf.ApplyWatermark(html) 添加浮水印 pdf.SecuritySettings.UserPassword 密碼保護 pdf.ExtractAllText() 文字擷取 程式碼遷移範例 範例 1:HTML 轉 PDF 之前(PDFPrinting.NET): // NuGet: Install-Package PDFPrinting.NET using PDFPrinting.NET; using System; class Program { static void Main() { var converter = new HtmlToPdfConverter(); string html = "<html><body><h1>Hello World</h1></body></html>"; converter.ConvertHtmlToPdf(html, "output.pdf"); Console.WriteLine("PDF created successfully"); } } // NuGet: Install-Package PDFPrinting.NET using PDFPrinting.NET; using System; class Program { static void Main() { var converter = new HtmlToPdfConverter(); string html = "<html><body><h1>Hello World</h1></body></html>"; converter.ConvertHtmlToPdf(html, "output.pdf"); Console.WriteLine("PDF created successfully"); } } $vbLabelText $csharpLabel (IronPDF 之後): // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); string html = "<html><body><h1>Hello World</h1></body></html>"; var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); Console.WriteLine("PDF created successfully"); } } // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); string html = "<html><body><h1>Hello World</h1></body></html>"; var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); Console.WriteLine("PDF created successfully"); } } $vbLabelText $csharpLabel PDFPrinting.NET 使用HtmlToPdfConverter和ConvertHtmlToPdf(html, outputPath)將渲染和保存合併到一個呼叫中。 IronPDF 使用ChromePdfRenderer的RenderHtmlAsPdf()函數,該函數傳回一個PdfDocument對象,然後您可以使用SaveAs()函數將其儲存。 這種分離提供了更大的靈活性——您可以在保存之前對 PDF 進行操作(添加浮水印、與其他文件合併、添加安全措施)。 IronPDF 提供 HTML 轉 PDF 等功能,使開發人員能夠將 Web 內容渲染為 PDF,從而利用現代 Web 技術建立文件。 IronPDF 利用瀏覽器引擎,能夠精確地將網頁文件的樣式和渲染效果複製到 PDF 中。 請參閱HTML 轉 PDF 文件以取得完整範例。 範例 2:URL 轉 PDF 之前(PDFPrinting.NET): // NuGet: Install-Package PDFPrinting.NET using PDFPrinting.NET; using System; class Program { static void Main() { var converter = new WebPageToPdfConverter(); string url = "https://www.example.com"; converter.Convert(url, "webpage.pdf"); Console.WriteLine("PDF from URL created successfully"); } } // NuGet: Install-Package PDFPrinting.NET using PDFPrinting.NET; using System; class Program { static void Main() { var converter = new WebPageToPdfConverter(); string url = "https://www.example.com"; converter.Convert(url, "webpage.pdf"); Console.WriteLine("PDF from URL created successfully"); } } $vbLabelText $csharpLabel (IronPDF 之後): // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); string url = "https://www.example.com"; var pdf = renderer.RenderUrlAsPdf(url); pdf.SaveAs("webpage.pdf"); Console.WriteLine("PDF from URL created successfully"); } } // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); string url = "https://www.example.com"; var pdf = renderer.RenderUrlAsPdf(url); pdf.SaveAs("webpage.pdf"); Console.WriteLine("PDF from URL created successfully"); } } $vbLabelText $csharpLabel PDFPrinting.NET 使用WebPageToPdfConverter和Convert(url, outputPath) 。 IronPDF 使用相同的ChromePdfRenderer類別及其RenderUrlAsPdf()方法。 請注意,IronPDF 對 HTML 字串和 URL 使用同一個渲染器類,當您需要這兩種功能時,可以簡化您的程式碼。 了解更多信息,請閱讀我們的教程。 範例 3:頁首和頁尾 之前(PDFPrinting.NET): // NuGet: Install-Package PDFPrinting.NET using PDFPrinting.NET; using System; class Program { static void Main() { var converter = new HtmlToPdfConverter(); converter.HeaderText = "Company Report"; converter.FooterText = "Page {page} of {total}"; string html = "<html><body><h1>Document Content</h1></body></html>"; converter.ConvertHtmlToPdf(html, "report.pdf"); Console.WriteLine("PDF with headers/footers created"); } } // NuGet: Install-Package PDFPrinting.NET using PDFPrinting.NET; using System; class Program { static void Main() { var converter = new HtmlToPdfConverter(); converter.HeaderText = "Company Report"; converter.FooterText = "Page {page} of {total}"; string html = "<html><body><h1>Document Content</h1></body></html>"; converter.ConvertHtmlToPdf(html, "report.pdf"); Console.WriteLine("PDF with headers/footers created"); } } $vbLabelText $csharpLabel (IronPDF 之後): // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Rendering; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>Company Report</div>" }; renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>" }; string html = "<html><body><h1>Document Content</h1></body></html>"; var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("report.pdf"); Console.WriteLine("PDF with headers/footers created"); } } // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Rendering; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>Company Report</div>" }; renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>" }; string html = "<html><body><h1>Document Content</h1></body></html>"; var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("report.pdf"); Console.WriteLine("PDF with headers/footers created"); } } $vbLabelText $csharpLabel PDFPrinting.NET 使用簡單的字串屬性HeaderText和FooterText ,其中佔位符分別為{page}和{total} 。 IronPDF 使用HtmlHeaderFooter對象,其HtmlFragment屬性可以接受完整的 HTML,從而允許使用 CSS 進行豐富的樣式設定。 請注意佔位符語法的變化:PDFPrinting.NET 使用{total} ,而 IronPDF 則使用{total-pages} 。 關鍵遷移說明 佔位符語法更改 不同庫的頁首/頁尾佔位符有所不同: // PDFPrinting.NET placeholders "Page {page} of {total}" // IronPDF placeholders "Page {page} of {total-pages}" // PDFPrinting.NET placeholders "Page {page} of {total}" // IronPDF placeholders "Page {page} of {total-pages}" $vbLabelText $csharpLabel 先加載後列印圖案 PDFPrinting.NET 直接傳遞文件路徑; IronPDF 首先載入: // PDFPrinting.NET: Direct path to Print() printer.Print("document.pdf"); // IronPDF: Load first, then operate var pdf = PdfDocument.FromFile("document.pdf"); pdf.Print(); // PDFPrinting.NET: Direct path to Print() printer.Print("document.pdf"); // IronPDF: Load first, then operate var pdf = PdfDocument.FromFile("document.pdf"); pdf.Print(); $vbLabelText $csharpLabel 列印設定遷移 PDFPrinting.NET 使用屬性; IronPDF 使用設定對象: // PDFPrinting.NET: Properties on printer object printer.Copies = 2; printer.Duplex = true; // IronPDF: Settings object var settings = new PrintSettings { NumberOfCopies = 2, DuplexMode = System.Drawing.Printing.Duplex.Vertical }; pdf.Print(settings); // PDFPrinting.NET: Properties on printer object printer.Copies = 2; printer.Duplex = true; // IronPDF: Settings object var settings = new PrintSettings { NumberOfCopies = 2, DuplexMode = System.Drawing.Printing.Duplex.Vertical }; pdf.Print(settings); $vbLabelText $csharpLabel HTML 標題與文字標題 // PDFPrinting.NET: Simple text converter.HeaderText = "Company Report"; // IronPDF: 完整 HTML with styling renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>Company Report</div>" }; // PDFPrinting.NET: Simple text converter.HeaderText = "Company Report"; // IronPDF: 完整 HTML with styling renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>Company Report</div>" }; $vbLabelText $csharpLabel 遷移後的新功能 遷移到 IronPDF 後,您將獲得 PDFPrinting.NET 無法提供的功能: PDF合併 var pdf1 = PdfDocument.FromFile("document1.pdf"); var pdf2 = PdfDocument.FromFile("document2.pdf"); var merged = PdfDocument.Merge(pdf1, pdf2); merged.SaveAs("merged.pdf"); var pdf1 = PdfDocument.FromFile("document1.pdf"); var pdf2 = PdfDocument.FromFile("document2.pdf"); var merged = PdfDocument.Merge(pdf1, pdf2); merged.SaveAs("merged.pdf"); $vbLabelText $csharpLabel 水印 pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>"); pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>"); $vbLabelText $csharpLabel 密碼保護 pdf.SecuritySettings.UserPassword = "userpassword"; pdf.SecuritySettings.OwnerPassword = "ownerpassword"; pdf.SecuritySettings.UserPassword = "userpassword"; pdf.SecuritySettings.OwnerPassword = "ownerpassword"; $vbLabelText $csharpLabel 文字擷取 string text = pdf.ExtractAllText(); string text = pdf.ExtractAllText(); $vbLabelText $csharpLabel 生成後列印工作流程 使用 IronPDF,您可以在一個工作流程中產生 PDF 檔案並列印: var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice</h1>"); pdf.Print("Invoice Printer"); var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice</h1>"); pdf.Print("Invoice Printer"); $vbLabelText $csharpLabel 跨平台列印 PDFPrinting.NET 僅適用於 Windows 系統。 IronPDF支援跨平台使用: 視窗 pdf.Print("HP LaserJet"); pdf.Print("HP LaserJet"); $vbLabelText $csharpLabel Linux // Requires CUPS (Common Unix Printing System) // Install: apt-get install cups pdf.Print("HP_LaserJet"); // CUPS uses underscores instead of spaces // Requires CUPS (Common Unix Printing System) // Install: apt-get install cups pdf.Print("HP_LaserJet"); // CUPS uses underscores instead of spaces $vbLabelText $csharpLabel macOS pdf.Print("HP LaserJet"); pdf.Print("HP LaserJet"); $vbLabelText $csharpLabel 功能對比總結 特徵 PDFPrinting.NET IronPDF 靜默列印 ✓ ✓ 列印設定 ✓ ✓ HTML 轉 PDF ✗ ✓ PDF檔案的URL ✗ ✓ 頁首/頁尾 基本的 完整 HTML 合併PDF ✗ ✓ 拆分PDF ✗ ✓ 水印 ✗ ✓ 文字擷取 ✗ ✓ 密碼保護 ✗ ✓ 跨平台 ✗ ✓ 遷移清單 遷移前 清點程式碼庫中所有 PDFPrinting.NET 的使用情況 記錄目前使用的所有印表機名稱 請注意所有列印設定配置 確定是否需要跨平台支持 規劃 IronPDF 許可證密鑰儲存(建議使用環境變數) 先使用 IronPDF 試用許可證進行測試 軟體包變更 刪除PDFPrinting.NET NuGet 包 安裝IronPdf NuGet 套件: dotnet add package IronPdf 程式碼更改 更新命名空間匯入 將HtmlToPdfConverter替換為ChromePdfRenderer 將WebPageToPdfConverter替換為ChromePdfRenderer 將ConvertHtmlToPdf(html, path)替換為RenderHtmlAsPdf(html).SaveAs(path) 將Convert(url, path)替換為RenderUrlAsPdf(url).SaveAs(path) 將頁首/頁尾從HeaderText / FooterText更新為HtmlHeader / HtmlFooter 更新佔位符語法( {total} → {total-pages} ) 將列印呼叫轉換為先載入後列印模式 將列印設定更新至PrintSettings對象 移民後 在所有目標平台上進行測試列印 驗證頁首/頁尾渲染效果 考慮為動態文件添加 PDF 生成功能 根據需要新增功能(合併、浮水印、安全)。 Curtis Chau 立即與工程團隊聊天 技術撰稿人 Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。 相關文章 發表日期 2026年2月1日 How to Migrate from ZetPDF to IronPDF in C# Master the migration from ZetPDF to IronPDF with this complete C# guide. Switch from a coordinate-based library to a modern HTML-to-PDF solution. Includes code examples for HTML conversion, merging PDFs, and removing PDFSharp dependencies. 閱讀更多 發表日期 2026年2月1日 How to Migrate from Scryber.Core to IronPDF in C# Master the migration from Scryber.Core to IronPDF with this complete C# guide. Switch from custom XML/HTML parsing to a modern Chromium renderer. Includes code examples for HTML conversion, URL rendering, and replacing proprietary bindings. 閱讀更多 發表日期 2026年2月1日 How to Migrate from XFINIUM.PDF to IronPDF in C# Master the migration from XFINIUM.PDF to IronPDF with this complete C# guide. Switch from manual coordinate-based positioning to declarative HTML/CSS rendering. Includes code examples for replacing graphics primitives and automatic layout. 閱讀更多 How to Migrate from PDFreactor to IronPDF in C#How to Migrate from PdfPig to IronP...
發表日期 2026年2月1日 How to Migrate from ZetPDF to IronPDF in C# Master the migration from ZetPDF to IronPDF with this complete C# guide. Switch from a coordinate-based library to a modern HTML-to-PDF solution. Includes code examples for HTML conversion, merging PDFs, and removing PDFSharp dependencies. 閱讀更多
發表日期 2026年2月1日 How to Migrate from Scryber.Core to IronPDF in C# Master the migration from Scryber.Core to IronPDF with this complete C# guide. Switch from custom XML/HTML parsing to a modern Chromium renderer. Includes code examples for HTML conversion, URL rendering, and replacing proprietary bindings. 閱讀更多
發表日期 2026年2月1日 How to Migrate from XFINIUM.PDF to IronPDF in C# Master the migration from XFINIUM.PDF to IronPDF with this complete C# guide. Switch from manual coordinate-based positioning to declarative HTML/CSS rendering. Includes code examples for replacing graphics primitives and automatic layout. 閱讀更多