跳過到頁腳內容
遷移指南

如何在 C# 中從 PDFFilePrint 轉移到 IronPDF

從PDFFilePrint轉換到 IronPDF,可將您的 .NET PDF 工作流程從功能有限、以列印為重點的實用程式,轉換為以單一統一 API 處理建立、操作和列印的綜合 PDF 函式庫。 本指南提供了一個完整的分步遷移路徑,消除了命令列依賴性,同時增加了PDFFilePrint無法提供的 PDF 生成和處理功能。

為什麼要從PDFFilePrint轉移到 IronPDF?

瞭解 PDFFilePrint。

PDFFilePrint 是專為從 C# 應用程式列印 PDF 檔案而設計的實用工具。 雖然它能很好地完成目標 PDF 列印任務,但其功能僅限於文件處理的一個方面。PDFFilePrint的主要誘惑在於它的簡單性 - 專注於提供 PDF 檔案的列印體驗。 然而,這種狹隘的焦點對於全面的文件管理系統造成了很大的限制。

PDFFilePrint的關鍵限制

1.僅列印功能:PDFFilePrint的功能僅限於列印。 它缺乏建立或修改 PDF 檔案的功能,對於更全面的文件管理系統而言,這是一種限制。

2.命令列依賴性:PDFFilePrint經常依賴具有 Process.Start() 呼叫的命令列操作,因此可能無法滿足無縫整合到需要更強大的 API 的應用程式的需求。

3.僅限 Windows:由於它嚴重依賴 Windows 列印系統,因此對於使用其他作業系統的環境來說,它可能不是最佳選擇。

4.不支援 .NET 整合:沒有原生 API,沒有 NuGet 包,且在某些使用模式下不支援 IntelliSense。

5.外部進程管理:必須處理進程生命週期、退出程式碼以及從 stdout/stderr 解析錯誤。

6.有限的錯誤處理:偵測錯誤需要解析標準輸出和錯誤流,而不是原生異常。

7.部署複雜性:在命令列使用場景中,必須將 PDFFilePrint.exe 與應用程式捆綁在一起。

8.不支援產生 PDF:無法建立 PDF,只能在命令列模式下列印現有 PDF。

PDFFilePrint與IronPDF的比較

範疇 PDFFilePrint IronPDF
主要焦點 PDF 列印 全面的 PDF API
類型 命令列工具/基本函式庫 原生 .NET 函式庫
整合 Process.Start() / 基本 API 直接調用 API
PDF 列印
PDF製作 限額 ✓(HTML、URL、圖片)
PDF 操作 ✓(合併、分割、編輯)
跨平台 僅限 Windows Windows, Linux, macOS
錯誤處理 解析 stdout/stderr 原生例外
IntelliSense 限額 支援
NuGet套件 限額
說明文件 基本的 廣泛

對於計劃在 2025 年和 2026 年之前採用 .NET 10 和 C# 14 的團隊而言,IronPDF 提供了全面的基礎,具有跨平台支援和積極的開發,解決了PDFFilePrint在架構上的限制。


開始之前

先決條件

  1. .NET環境: .NET Framework 4.6.2+ 或.NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet存取權限:能夠安裝NuGet套件
  3. IronPDF許可證:請從IronPDF取得您的許可證密鑰。

NuGet 套件變更

# RemovePDFFilePrintpackage (if installed via NuGet)
dotnet remove package PDFFilePrint

# If using command-line PDFFilePrint.exe, remove from deployment
# Delete bundled PDFFilePrint.exe from your project

# Install IronPDF
dotnet add package IronPdf
# RemovePDFFilePrintpackage (if installed via NuGet)
dotnet remove package PDFFilePrint

# If using command-line PDFFilePrint.exe, remove from deployment
# Delete bundled PDFFilePrint.exe from your project

# 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";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

辨識PDFFilePrint使用方式

# FindPDFFilePrintreferences
grep -r "PDFFilePrint\|PDFFile\|CreateFromHtml\|CreateFromUrl" --include="*.cs" .

# Find command-line execution patterns
grep -r "ProcessStartInfo.*pdf\|Process.Start.*print" --include="*.cs" .

# Find batch scripts
find . -name "*.bat" -o -name "*.cmd" | xargs grep -l "PDFFilePrint"
# FindPDFFilePrintreferences
grep -r "PDFFilePrint\|PDFFile\|CreateFromHtml\|CreateFromUrl" --include="*.cs" .

# Find command-line execution patterns
grep -r "ProcessStartInfo.*pdf\|Process.Start.*print" --include="*.cs" .

# Find batch scripts
find . -name "*.bat" -o -name "*.cmd" | xargs grep -l "PDFFilePrint"
SHELL

完整的 API 參考資料

命名空間變更

// PDFFilePrint
using PDFFilePrint;
using System.Diagnostics; // For command-line usage

// IronPDF
using IronPdf;
using IronPdf.Printing;
// PDFFilePrint
using PDFFilePrint;
using System.Diagnostics; // For command-line usage

// IronPDF
using IronPdf;
using IronPdf.Printing;
Imports PDFFilePrint
Imports System.Diagnostics ' For command-line usage

' IronPDF
Imports IronPdf
Imports IronPdf.Printing
$vbLabelText   $csharpLabel

核心類對應

PDFFilePrint IronPDF
new PDFFile() new ChromePdfRenderer()
new PDFFile() PdfDocument.FromFile()
PDFFile PdfDocument

PDF 生成方法映射

PDFFilePrint IronPDF
pdf.CreateFromHtml(html) renderer.RenderHtmlAsPdf(html)
pdf.CreateFromUrl(url) renderer.RenderUrlAsPdf(url)
pdf.SaveToFile(path) pdf.SaveAs(path)

PDF 載入與列印對應

PDFFilePrint IronPDF
pdf.LoadFromFile(path) PdfDocument.FromFile(path)
pdf.Print(printerName) pdf.Print(printerName)
pdf.Print("Default Printer") pdf.Print()

列印設定對應 (指令列至 API)

PDFFilePrint 旗幟 IronPDF PrintSettings 屬性
-printer "Name" PrinterName
-copies N NumberOfCopies
-silent ShowPrintDialog = false
-pages "1-5" FromPage, ToPage
-orientation landscape PaperOrientation
-duplex Duplex
-collate Collate

PDFFilePrint沒有的新功能

IronPDF 特點 說明
PdfDocument.Merge() 結合多個 PDF
pdf.CopyPages() 擷取特定頁面
pdf.ApplyWatermark() 加入水印
pdf.SecuritySettings 密碼保護
pdf.ExtractAllText() 擷取文字內容
pdf.RasterizeToImageFiles() 轉換為影像
pdf.SignWithDigitalSignature() 數位簽名

程式碼遷移範例

範例 1:HTML 到 PDF 的轉換

之前 (PDFFilePrint):

// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;

class Program
{
    static void Main()
    {
        var pdf = new PDFFile();
        string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
        pdf.CreateFromHtml(htmlContent);
        pdf.SaveToFile("output.pdf");
    }
}
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;

class Program
{
    static void Main()
    {
        var pdf = new PDFFile();
        string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
        pdf.CreateFromHtml(htmlContent);
        pdf.SaveToFile("output.pdf");
    }
}
Imports System
Imports PDFFilePrint

Module Program
    Sub Main()
        Dim pdf As New PDFFile()
        Dim htmlContent As String = "<html><body><h1>Hello World</h1></body></html>"
        pdf.CreateFromHtml(htmlContent)
        pdf.SaveToFile("output.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

After (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim htmlContent As String = "<html><body><h1>Hello World</h1></body></html>"
        Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

這裡的根本差異在於 API 模式。PDFFilePrint使用一個包含 PDFFile 方法的類別。IronPDF將渲染與文件對象分開-ChromePdfRenderer 處理 HTML 到 PDF 的轉換,並傳回一個 PdfDocument 對象,然後您可以使用 SaveAs() 儲存該物件。

這種分離提供了顯著的優勢:您可以在轉換之前配置渲染器的渲染選項,並且可以在保存之前對返回的 PdfDocument 進行操作(添加浮水印、與其他 PDF 合併、添加安全措施)。 請參閱 HTML to PDF 文件,以瞭解其他渲染選項。

範例 2:URL 到 PDF 的轉換

之前 (PDFFilePrint):

// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;

class Program
{
    static void Main()
    {
        var pdf = new PDFFile();
        pdf.CreateFromUrl("https://www.example.com");
        pdf.SaveToFile("webpage.pdf");
    }
}
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;

class Program
{
    static void Main()
    {
        var pdf = new PDFFile();
        pdf.CreateFromUrl("https://www.example.com");
        pdf.SaveToFile("webpage.pdf");
    }
}
Imports System
Imports PDFFilePrint

Class Program
    Shared Sub Main()
        Dim pdf As New PDFFile()
        pdf.CreateFromUrl("https://www.example.com")
        pdf.SaveToFile("webpage.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

After (IronPDF):

// 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");
    }
}
// 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");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
        pdf.SaveAs("webpage.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

PDFFilePrint 在同一個 PDFFile 類別中使用 CreateFromUrl()。IronPDF在 ChromePdfRenderer 上使用專用的 RenderUrlAsPdf() 方法,該方法利用現代 Chromium 引擎來精確渲染複雜的 CSS3、JavaScript 和現代 Web 功能。 渲染品質可預測,並與您在 Chrome 瀏覽器中看到的內容相符。 進一步了解 URL 至 PDF 轉換

範例 3:PDF 列印

之前 (PDFFilePrint):

// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;

class Program
{
    static void Main()
    {
        var pdf = new PDFFile();
        pdf.LoadFromFile("document.pdf");
        pdf.Print("Default Printer");
        Console.WriteLine("PDF sent to printer");
    }
}
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;

class Program
{
    static void Main()
    {
        var pdf = new PDFFile();
        pdf.LoadFromFile("document.pdf");
        pdf.Print("Default Printer");
        Console.WriteLine("PDF sent to printer");
    }
}
Imports System
Imports PDFFilePrint

Module Program
    Sub Main()
        Dim pdf As New PDFFile()
        pdf.LoadFromFile("document.pdf")
        pdf.Print("Default Printer")
        Console.WriteLine("PDF sent to printer")
    End Sub
End Module
$vbLabelText   $csharpLabel

After (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("document.pdf");
        pdf.Print();
        Console.WriteLine("PDF sent to printer");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("document.pdf");
        pdf.Print();
        Console.WriteLine("PDF sent to printer");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim pdf = PdfDocument.FromFile("document.pdf")
        pdf.Print()
        Console.WriteLine("PDF sent to printer")
    End Sub
End Class
$vbLabelText   $csharpLabel

此範例顯示 PDF 載入與列印的基本架構差異。PDFFilePrint使用 new PDFFile(),然後 LoadFromFile(),再 Print(printerName)。IronPDF使用靜態工廠方法 PdfDocument.FromFile() 直接加載,然後 Print() 使用預設印表機(或您可以傳遞印表機名稱)。

主要的轉移變化:

  • new PDFFile() + LoadFromFile(path)PdfDocument.FromFile(path)
  • Print("Default Printer")Print() (預設印表機為自動)

對於進階列印設置,IronPDF 提供了一個 PrintSettings 類別。 有關進階選項,請參閱 列印文件


進階列印設定轉換

對於使用PDFFilePrint命令列標誌的應用程序,以下是如何遷移到IronPDF的方法 PrintSettings:

//PDFFilePrintcommand-line approach:
// PDFFilePrint.exe -silent -copies 3 -printer "HP LaserJet" -pages "1-5" "document.pdf"

//IronPDFequivalent:
using IronPdf;

var pdf = PdfDocument.FromFile("document.pdf");

var settings = new PrintSettings
{
    ShowPrintDialog = false,    // -silent
    NumberOfCopies = 3,         // -copies 3
    PrinterName = "HP LaserJet", // -printer "HP LaserJet"
    FromPage = 1,               // -pages "1-5"
    ToPage = 5
};

pdf.Print(settings);
//PDFFilePrintcommand-line approach:
// PDFFilePrint.exe -silent -copies 3 -printer "HP LaserJet" -pages "1-5" "document.pdf"

//IronPDFequivalent:
using IronPdf;

var pdf = PdfDocument.FromFile("document.pdf");

var settings = new PrintSettings
{
    ShowPrintDialog = false,    // -silent
    NumberOfCopies = 3,         // -copies 3
    PrinterName = "HP LaserJet", // -printer "HP LaserJet"
    FromPage = 1,               // -pages "1-5"
    ToPage = 5
};

pdf.Print(settings);
Imports IronPdf

Dim pdf = PdfDocument.FromFile("document.pdf")

Dim settings As New PrintSettings With {
    .ShowPrintDialog = False,    ' -silent
    .NumberOfCopies = 3,         ' -copies 3
    .PrinterName = "HP LaserJet", ' -printer "HP LaserJet"
    .FromPage = 1,               ' -pages "1-5"
    .ToPage = 5
}

pdf.Print(settings)
$vbLabelText   $csharpLabel

靜音模式旗號轉換

請注意無聲列印的反向邏輯:

// PDFFilePrint: -silent flag enables silent mode
// IronPDF: ShowPrintDialog = false (false = silent)
var settings = new PrintSettings { ShowPrintDialog = false };
// PDFFilePrint: -silent flag enables silent mode
// IronPDF: ShowPrintDialog = false (false = silent)
var settings = new PrintSettings { ShowPrintDialog = false };
' PDFFilePrint: -silent flag enables silent mode
' IronPDF: ShowPrintDialog = false (false = silent)
Dim settings As New PrintSettings With {.ShowPrintDialog = False}
$vbLabelText   $csharpLabel

遷移後的新功能

轉移到IronPDF之後,您將獲得PDFFilePrint無法提供的功能:

一步完成建立與列印

using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Thank you for your order.</p>");
pdf.Print("Office Printer");
using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Thank you for your order.</p>");
pdf.Print("Office Printer");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Thank you for your order.</p>")
pdf.Print("Office Printer")
$vbLabelText   $csharpLabel

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");
Dim pdf1 = PdfDocument.FromFile("document1.pdf")
Dim pdf2 = PdfDocument.FromFile("document2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
$vbLabelText   $csharpLabel

水印。

var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>");
pdf.SaveAs("watermarked.pdf");
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>");
pdf.SaveAs("watermarked.pdf");
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>")
pdf.SaveAs("watermarked.pdf")
$vbLabelText   $csharpLabel

密碼保護

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SaveAs("secured.pdf");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SaveAs("secured.pdf");
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SecuritySettings.UserPassword = "userpassword"
pdf.SecuritySettings.OwnerPassword = "ownerpassword"
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

文字萃取

var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim text As String = pdf.ExtractAllText()
$vbLabelText   $csharpLabel

關鍵遷移注意事項

類別模式變更

PDFFilePrint 使用單一 PDFFile 類別來處理所有事情;IronPDF將關注點分開:

// PDFFilePrint: Single class
var pdf = new PDFFile();
pdf.CreateFromHtml(html);
pdf.SaveToFile(path);

// IronPDF: Renderer for creation, Document for manipulation
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);
// PDFFilePrint: Single class
var pdf = new PDFFile();
pdf.CreateFromHtml(html);
pdf.SaveToFile(path);

// IronPDF: Renderer for creation, Document for manipulation
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);
' PDFFilePrint: Single class
Dim pdf1 = New PDFFile()
pdf1.CreateFromHtml(html)
pdf1.SaveToFile(path)

' IronPDF: Renderer for creation, Document for manipulation
Dim renderer = New ChromePdfRenderer()
Dim pdf2 = renderer.RenderHtmlAsPdf(html)
pdf2.SaveAs(path)
$vbLabelText   $csharpLabel

方法命名變更

//PDFFilePrint→ IronPDF
CreateFromHtml() → RenderHtmlAsPdf()
CreateFromUrl() → RenderUrlAsPdf()
LoadFromFile() → PdfDocument.FromFile()
SaveToFile() → SaveAs()
Print(printerName) → Print(printerName) or Print()
//PDFFilePrint→ IronPDF
CreateFromHtml() → RenderHtmlAsPdf()
CreateFromUrl() → RenderUrlAsPdf()
LoadFromFile() → PdfDocument.FromFile()
SaveToFile() → SaveAs()
Print(printerName) → Print(printerName) or Print()
'PDFFilePrint→ IronPDF
RenderHtmlAsPdf() → RenderHtmlAsPdf()
RenderUrlAsPdf() → RenderUrlAsPdf()
PdfDocument.FromFile() → PdfDocument.FromFile()
SaveAs() → SaveAs()
Print(printerName) → Print(printerName) or Print()
$vbLabelText   $csharpLabel

退出程式碼至例外處理

如果使用命令列 PDFFilePrint:

// PDFFilePrint: Check process exit code
if (process.ExitCode != 0) {
    var error = process.StandardError.ReadToEnd();
    throw new Exception($"Print failed: {error}");
}

// IronPDF: Use try-catch
try {
    pdf.Print();
}
catch (Exception ex) {
    // Handle error with full exception details
}
// PDFFilePrint: Check process exit code
if (process.ExitCode != 0) {
    var error = process.StandardError.ReadToEnd();
    throw new Exception($"Print failed: {error}");
}

// IronPDF: Use try-catch
try {
    pdf.Print();
}
catch (Exception ex) {
    // Handle error with full exception details
}
' PDFFilePrint: Check process exit code
If process.ExitCode <> 0 Then
    Dim error = process.StandardError.ReadToEnd()
    Throw New Exception($"Print failed: {error}")
End If

' IronPDF: Use try-catch
Try
    pdf.Print()
Catch ex As Exception
    ' Handle error with full exception details
End Try
$vbLabelText   $csharpLabel

移除外部相依性

如果使用命令列 PDFFilePrint,請移除隨附的可執行檔:

// Before: Required external executable
private readonly string _pdfFilePrintPath = @"C:\tools\PDFFilePrint.exe";

// After: No external dependencies
//IronPDFis fully self-contained via NuGet
// Before: Required external executable
private readonly string _pdfFilePrintPath = @"C:\tools\PDFFilePrint.exe";

// After: No external dependencies
//IronPDFis fully self-contained via NuGet
' Before: Required external executable
Private ReadOnly _pdfFilePrintPath As String = "C:\tools\PDFFilePrint.exe"

' After: No external dependencies
'IronPDF is fully self-contained via NuGet
$vbLabelText   $csharpLabel

功能比較摘要

特點 PDFFilePrint IronPDF
基本印刷
無聲印刷
多份副本
頁數
雙語 變化
從 HTML 建立 限額
從 URL 建立 限額
合併 PDF
分割 PDF
加入水印
擷取文字
密碼保護
數位簽名
跨平台
本地 .NET API 限額

遷移清單

預遷移

  • 在程式碼庫中尋找所有PDFFilePrint引用
  • 記錄目前使用的方法(CreateFromHtml、CreateFromUrl、Print 等)
  • 識別不同環境中使用的印表機名稱
  • 如果使用 Process.Start 模式,請列出所有命令列參數
  • 尋找新功能的機會(合併、浮水印、安全)
  • 取得IronPDF許可證密鑰

套件變更

  • 刪除 PDFFilePrint NuGet 套件
  • 從部署中移除捆綁的 PDFFilePrint.exe(如果適用) 安裝 IronPdf NuGet 套件:dotnet add package IronPdf
  • 更新命名空間匯入

程式碼變更

  • 在啟動時新增許可證金鑰配置
  • new PDFFile() + CreateFromHtml() 替換為 ChromePdfRenderer.RenderHtmlAsPdf()
  • new PDFFile() + CreateFromUrl() 替換為 ChromePdfRenderer.RenderUrlAsPdf()
  • LoadFromFile() 替換為 PdfDocument.FromFile()
  • SaveToFile() 替換為 SaveAs()
  • 根據需要更新 Print() 調用
  • 將退出代碼檢查替換為異常處理(如果適用)

後遷移

  • 從原始碼控制中移除 PDFFilePrint.exe
  • 更新建置腳本以移除PDFFilePrint複製操作
  • 在所有目標印表機上進行測試列印
  • 如適用,進行跨平台測試
  • 依需求新增功能(浮水印、安全功能)
  • 更新文件

Curtis Chau
技術作家

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

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

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我