如何在 C# 中從 PDFPrinting.NET 轉移到 IronPDF for .NET
從 PDFPrinting.NET 轉移到 IronPDF:完整的 C# 遷移指南。
從 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 vsIronPDF對比。
| 特點 | PDFPrinting.NET | IronPDF |
|---|---|---|
| 主要功能 | 無聲 PDF 列印 | 全周期處理(建立、編輯、列印) |
| 平台支援 | 僅限 Windows | 跨平台 |
| PDF 創建/操控能力 | 無 | 是 |
| HTML 至 PDF 轉檔 | 無 | 是 |
| 自動化工作流程的適用性 | 高的 | 高的 |
| 其他依賴項目 | 依賴 Windows 印表機 | 用於渲染的內部瀏覽器引擎 |
| 靜音列印 | 是 | 是 |
| 文字萃取 | 不支援 | 全面支援 |
| 授權 | 商業的 | 商業的 |
IronPDF 針對 PDF 處理的完整生命週期,提出了更全面的解決方案。 它有助於 PDF 文件的建立、編輯、轉換和列印,透過統一的 API 為開發人員提供全套功能。 與 PDFPrinting.NET 不同的是,IronPDF 可以在不同的平台上部署,因此對於在不同環境下運作的應用程式而言,IronPDF 是一個多用途的選擇。
對於計劃在 2025 年和 2026 年之前採用 .NET 10 和 C# 14 的團隊而言,IronPDF 提供了一套完整的 PDF 解決方案,可在 Windows、Linux 和 macOS 環境中運作。
開始之前
先決條件
1..NET 環境:.NET Framework 4.6.2+ 或 .NET Core 3.1+ / .NET 5/6/7/8/9+ 2.NuGet存取:安裝 NuGet 套件的能力 3.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授權組態
// 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";IRON VB CONVERTER ERROR developers@ironsoftware.com說明 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" .完整的 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;IRON VB CONVERTER ERROR developers@ironsoftware.com核心類對應
| PDFPrinting.NET | IronPDF | 筆記 |
|---|---|---|
| <代碼>PDFPrinter</代碼 | <編碼>PDF 文件</編碼 | 核心 PDF 物件 |
| <編碼>HtmlToPdfConverter</編碼 | <代碼>ChromePdfRenderer</代碼 | 生成 PDF |
| <編碼>WebPageToPdfConverter</編碼 | <代碼>ChromePdfRenderer</代碼 | URL 轉換 |
| 列印設定屬性 | <編碼>列印設定</編碼 | 列印配置 |
列印方法映射
| PDFPrinting.NET | IronPDF | 筆記 |
|---|---|---|
| <程式碼>printer.Print(filePath)</程式碼 | <編碼>pdf.Print()</編碼 | 列印至預設印表機 |
printer.Print(path,印表機名稱)。 | pdf.Print(printerName)。 | 列印至特定印表機 |
printer.PrinterName="..."。 | pdf.Print("...") | 指定印表機 |
| <代碼>printer.GetPrintDocument(path)</代碼 | <代碼>pdf.GetPrintDocument()</代碼 | 取得 PrintDocument |
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");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comAfter (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");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comPDFPrinting.NET 使用<編碼>HtmlToPdfConverter</編碼與 ConvertHtmlToPdf(html, outputPath) 結合渲染與儲存於一次呼叫中。IronPDF使用<代碼>ChromePdfRenderer</代碼與 RenderHtmlAsPdf() 產生<編碼>PDF 文件</編碼物件,然後使用 SaveAs() 儲存。 這種分離方式提供了更大的靈活性-您可以在儲存之前對 PDF 進行處理(添加水印、與其他文件合併、添加安全性)。
IronPDF 提供 HTML-to-PDF 轉換等功能,讓開發人員可以將網頁內容轉換成 PDF - 充分利用現代網路技術來製作文件。 透過內部利用瀏覽器引擎,IronPDF 可以準確地將網頁文件的樣式和渲染複製到 PDF 中。 請參閱 HTML to 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");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comAfter (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");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comPDFPrinting.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");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comAfter (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");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comPDFPrinting.NET 使用簡單的字串屬性 HeaderText 和 FooterText 與佔位符 {page} 和 {total} 。IronPDF使用 HtmlHeaderFooter 物件,其 HtmlFragment 屬性可接受完整的 HTML,允許使用 CSS 進行豐富的造型。 請注意佔位符的語法變更:PDFPrinting.NET 使用 {total} 而IronPDFfor .NET 使用 {total-pages} 。
關鍵遷移注意事項
占位符語法變更
不同函式庫的頁首/頁尾占位符有所不同:
// PDFPrinting.NET placeholders
"Page {page} of {total}"
//IronPDFplaceholders
"Page {page} of {total-pages}"// PDFPrinting.NET placeholders
"Page {page} of {total}"
//IronPDFplaceholders
"Page {page} of {total-pages}"IRON VB CONVERTER ERROR developers@ironsoftware.com先載入後列印模式
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();IRON VB CONVERTER ERROR developers@ironsoftware.com列印設定轉換
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);IRON VB CONVERTER ERROR developers@ironsoftware.comHTML 標頭 vs 文字標頭
// PDFPrinting.NET: Simple text
converter.HeaderText = "Company Report";
// IronPDF:完整 HTMLwith styling
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};// PDFPrinting.NET: Simple text
converter.HeaderText = "Company Report";
// IronPDF:完整 HTMLwith styling
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};IRON VB CONVERTER ERROR developers@ironsoftware.com遷移後的新功能
轉移到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");IRON VB CONVERTER ERROR developers@ironsoftware.com水印。
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");IRON VB CONVERTER ERROR developers@ironsoftware.com密碼保護
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";IRON VB CONVERTER ERROR developers@ironsoftware.com文字萃取
string text = pdf.ExtractAllText();string text = pdf.ExtractAllText();Dim text As String = pdf.ExtractAllText()Generate-Then-Print 工作流程
使用 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");IRON VB CONVERTER ERROR developers@ironsoftware.com跨平台列印
PDFPrinting.NET 僅限 Windows 使用。 IronPdf 可跨平台工作:
視窗
pdf.Print("HP LaserJet");pdf.Print("HP LaserJet");IRON VB CONVERTER ERROR developers@ironsoftware.comLinux。
// 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 spacesIRON VB CONVERTER ERROR developers@ironsoftware.commacOS
pdf.Print("HP LaserJet");pdf.Print("HP LaserJet");IRON VB CONVERTER ERROR developers@ironsoftware.com功能比較摘要
| 特點 | PDFPrinting.NET | IronPDF |
|---|---|---|
| 無聲印刷 | ✓ | ✓ |
| 列印設定 | ✓ | ✓ |
| HTML 至 PDF | ✗ | ✓ |
| URL 至 PDF | ✗ | ✓ |
| 頁首/頁尾 | 基本的 | 完整 HTML |
| 合併 PDF | ✗ | ✓ |
| 分割 PDF | ✗ | ✓ |
| 水印 | ✗ | ✓ |
| 文字擷取 | ✗ | ✓ |
| 密碼保護 | ✗ | ✓ |
| 跨平台 | ✗ | ✓ |
遷移清單
預遷移
- [ ] 清查代碼庫中所有 PDFPrinting.NET 的使用情況
- [ ] 記錄目前使用的所有印表機名稱
- [ ] 注意所有列印設定配置
- [ ] 確定是否需要跨平台支援
- [ ] 計劃IronPDF授權金鑰的儲存(建議使用環境變數)
- [ ] 先使用 IronPdf 試用授權進行測試
套件變更
- [ ] 移除
PDFPrinting.NETNuGet 套件 - [ ] 安裝
IronPDFNuGet 套件:dotnet add package IronPdf。
程式碼變更
- [ ] 更新命名空間匯入
- [ ] 將<編碼>HtmlToPdfConverter</編碼替換為
ChromePdfRenderer - [ ] 將<編碼>WebPageToPdfConverter</編碼替換為
ChromePdfRenderer - [ ] 將
ConvertHtmlToPdf(html, path)改為RenderHtmlAsPdf(html).SaveAs(path) - [ ] 將
Convert(url, path)改為RenderUrlAsPdf(url).SaveAs(path) - [ ] 更新 header/footer 從
HeaderText/FooterText到HtmlHeader/HtmlFooter。 - [ ] 更新占位符語法 (
{total}→{total-pages}) - [ ] 將列印呼叫轉換為載入-列印模式
- [更新列印設定至<編碼>列印設定</編碼物件
後遷移
- [ ] 在所有目標平台上測試列印
- [ ] 確認頁首/頁尾的呈現
- [ ] 考慮為動態文件加入 PDF 生成功能
- [ ] 必要時增加新功能(合併、水印、安全性
結論
從 PDFPrinting.NET 轉換到 IronPDF,可將您的 PDF 工作流程從純印刷解決方案轉換為完整的 PDF 生命週期資料庫。 PDFPrinting.NET 和IronPDF之間的抉擇主要圍繞專案的特定需求:如果唯一的需求是在 Windows 環境中進行強大且無聲的 PDF 列印,請選擇 PDFPrinting.NET; 如果專案需要跨越多種平台的完整 PDF 處理能力,請選擇 IronPDF。
本次轉換的主要變更如下 1.轉換器類別:HtmlToPdfConverter /<編碼>WebPageToPdfConverter</編碼→ ChromePdfRenderer 2.HTML 方法:ConvertHtmlToPdf(html, path) → RenderHtmlAsPdf(html).SaveAs(path) 3.URL 方法:Convert(url, path) → RenderUrlAsPdf(url).SaveAs(path) 4.頁首/頁腳:HeaderText/FooterText 屬性 → HtmlHeader/HtmlFooter 物件與HtmlFragment 5.占位符:{total} → {total-pages} 6.列印模式:直接路徑 → 列印時載入 7.平台支援:僅限 Windows → 跨平台 8.新功能:PDF 合併、水印、安全性、文字萃取等功能
探索完整的 IronPDF 文件、教程和 API 參考,加速您的 PDFPrinting.NET 移植。






