如何用 C# 从 PDFFilePrint 迁移到 IronPDF
从PDF 文件打印迁移到IronPDF可将您的 .NET PDF 工作流程从功能有限的以打印为重点的实用程序转变为综合 PDF 库,该库可在单一的统一 API 中处理创建、操作和打印。 本指南提供了完整的分步迁移路径,消除了命令行依赖性,同时增加了PDF 文件打印无法提供的 PDF 生成和处理功能。
为什么要从PDF 文件打印迁移到 IronPDF?
了解 PDFFilePrint。
PDFFilePrint 是一款实用工具,专门用于从 C# 应用程序中打印 PDF 文件。 虽然它能很好地完成有针对性的 PDF 打印任务,但其功能仅限于文档处理的一个方面。PDF 文件打印的主要魅力在于其简单性--只专注于为 PDF 文件提供打印体验。 然而,这种狭隘的关注点对综合文档管理系统造成了很大的限制。
PDF 文件打印的关键限制
1.仅打印功能:PDF 文件打印的功能仅限于打印。 它缺乏创建或修改 PDF 文件的功能,这对更全面的文档管理系统来说是个限制。
2.命令行依赖性:PDF 文件打印通常依赖于带有 Process.Start() 调用的命令行操作,因此可能无法满足无缝集成到需要更强大的 API 的应用程序的需求。
3.仅限 Windows:由于它严重依赖于 Windows 打印系统,因此对于使用其他操作系统的环境来说,它可能不是最佳选择。
4.不支持 .NET 集成:没有原生 API,没有 NuGet 包,并且在某些使用模式下不支持 IntelliSense。
5.外部进程管理:必须处理进程生命周期、退出代码以及从 stdout/stderr 解析错误。
6.有限的错误处理:检测错误需要解析标准输出和错误流,而不是原生异常。
7.部署复杂性:在命令行使用场景中,必须将 PDFFilePrint.exe 与应用程序捆绑在一起。
8.不支持生成 PDF:无法创建 PDF,只能在命令行模式下打印现有 PDF。
PDF 文件打印与IronPDF对比
| 方面 | PDF 文件打印 | IronPDF |
|---|---|---|
| 主要关注点 | PDF 印刷 | 全面的 PDF API |
| 类型 | 命令行实用程序/基本库 | 本地 .NET 库 |
| 集成 | Process.Start() / 基本 API | 直接调用 API |
| PDF 打印 | ✓ | ✓ |
| PDF 创建 | 有限的 | ✓ (HTML、URL、图片) |
| PDF 操作 | ✗ | ✓(合并、拆分、编辑) |
| 跨平台 | 仅限 Windows | Windows、Linux、macOS |
| 错误处理 | 解析 stdout/stderr | 本地例外情况 |
| 智能感知 | 有限的 | 支持 |
| NuGet软件包 | 有限的 | ✓ |
| 文档 | 基本的 | 广泛 |
对于计划在 2025 年和 2026 年之前采用 .NET 10 和 C# 14 的团队来说,IronPDF 提供了一个全面的基础,具有跨平台支持和积极的开发,解决了PDF 文件打印在架构上的局限性。
开始之前
前提条件
- .NET 环境: .NET Framework 4.6.2+ 或 .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGet 访问权限:能够安装 NuGet 包
- IronPDF 许可证:请从ironpdf.com获取您的许可证密钥。
NuGet 软件包变更
# RemovePDF 文件打印package (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
# RemovePDF 文件打印package (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
许可配置
// 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"
确定PDF 文件打印的用法
# FindPDF 文件打印references
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"
# FindPDF 文件打印references
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"
完整的 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
核心类映射
| PDF 文件打印 | IronPDF |
|---|---|
new PDFFile() |
new ChromePdfRenderer() |
new PDFFile() |
PdfDocument.FromFile() |
PDFFile |
PdfDocument |
PDF 生成方法映射
| PDF 文件打印 | IronPDF |
|---|---|
pdf.CreateFromHtml(html) |
renderer.RenderHtmlAsPdf(html) |
pdf.CreateFromUrl(url) |
renderer.RenderUrlAsPdf(url) |
pdf.SaveToFile(path) |
pdf.SaveAs(path) |
PDF 加载和打印映射
| PDF 文件打印 | IronPDF |
|---|---|
pdf.LoadFromFile(path) |
PdfDocument.FromFile(path) |
pdf.Print(printerName) |
pdf.Print(printerName) |
pdf.Print("Default Printer") |
pdf.Print() |
打印设置映射(命令行到 API)
| PDFFilePrint 标志 | IronPDF 打印设置属性 |
|---|---|
-printer "Name" |
PrinterName |
-copies N |
NumberOfCopies |
-silent |
ShowPrintDialog = false |
-pages "1-5" |
FromPage, ToPage |
-orientation landscape |
PaperOrientation |
-duplex |
Duplex |
-collate |
Collate |
PDF 文件打印中没有的新功能
| 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
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
这里的根本区别在于 API 模式。PDF 文件打印使用一个 PDFFile 类,该类具有 CreateFromHtml() 和 SaveToFile() 方法。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
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
PDFFilePrint 在同一个 PDFFile 类中使用 PDFFile。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
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
该示例显示了 PDF 加载和打印的基本架构差异。PDF 文件打印使用 new PDFFile(),然后是 LoadFromFile(),然后是 Print(printerName)。IronPDF使用静态工厂方法 PdfDocument.FromFile() 直接加载,然后 Print() 使用默认打印机(或者您可以传递打印机名称)。
关键的迁移变化:
new PDFFile()+LoadFromFile(path)→PdfDocument.FromFile(path)Print("Default Printer")→Print()(默认打印机为自动)
对于高级打印设置,IronPDF 提供了一个 PrintSettings 类。 有关高级选项,请参阅 打印文档。
高级打印设置迁移
对于使用PDF 文件打印命令行标志的应用程序,以下是如何迁移到IronPDF的方法 PrintSettings:
//PDF 文件打印command-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);
//PDF 文件打印command-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)
静音模式标志转换
注意无声打印的倒置逻辑:
// 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}
迁移后的新功能
迁移到IronPDF后,您将获得PDF 文件打印无法提供的功能:
创建和打印一步到位
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")
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")
水印
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")
密码保护
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")
文本提取
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()
关键迁移说明
类模式更改
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)
方法命名更改
//PDF 文件打印→ IronPDF
CreateFromHtml() → RenderHtmlAsPdf()
CreateFromUrl() → RenderUrlAsPdf()
LoadFromFile() → PdfDocument.FromFile()
SaveToFile() → SaveAs()
Print(printerName) → Print(printerName) or Print()
//PDF 文件打印→ IronPDF
CreateFromHtml() → RenderHtmlAsPdf()
CreateFromUrl() → RenderUrlAsPdf()
LoadFromFile() → PdfDocument.FromFile()
SaveToFile() → SaveAs()
Print(printerName) → Print(printerName) or Print()
'PDF 文件打印→ IronPDF
'CreateFromHtml() → RenderHtmlAsPdf()
'CreateFromUrl() → RenderUrlAsPdf()
'LoadFromFile() → PdfDocument.FromFile()
'SaveToFile() → SaveAs()
'Print(printerName) → Print(printerName) or Print()
退出代码到异常处理
如果使用命令行 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
移除外部依赖关系
如果使用命令行 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
功能对比摘要
| 特征 | PDF 文件打印 | IronPDF |
|---|---|---|
| 基本印刷 | ✓ | ✓ |
| 静音打印 | ✓ | ✓ |
| 一式多份 | ✓ | ✓ |
| 页面范围 | ✓ | ✓ |
| 双工 | 不同 | ✓ |
| 从 HTML 创建 | 有限的 | ✓ |
| 从 URL 创建 | 有限的 | ✓ |
| 合并 PDF | ✗ | ✓ |
| 拆分 PDF | ✗ | ✓ |
| 添加水印 | ✗ | ✓ |
| 提取文本 | ✗ | ✓ |
| 密码保护 | ✗ | ✓ |
| 数字签名 | ✗ | ✓ |
| 跨平台 | ✗ | ✓ |
| 本地 .NET 应用程序接口 | 有限的 | ✓ |
迁移清单
迁移前
- 在代码库中查找所有PDF 文件打印引用
- 记录当前使用的方法(CreateFromHtml、CreateFromUrl、Print 等)
- 识别不同环境中使用的打印机名称
- 如果使用 Process.Start 模式,请列出所有命令行参数
- 寻找新功能的机会(合并、水印、安全)
- 获取IronPDF许可证密钥
软件包变更
- 删除
PDFFilePrintNuGet 包 - 从部署中移除捆绑的 PDFFilePrint.exe(如果适用)
安装
IronPdfNuGet 包:dotnet add package IronPdf - 更新命名空间导入
代码更改
- 在启动时添加许可证密钥配置
- 将
new PDFFile()+CreateFromHtml()替换为ChromePdfRenderer.RenderHtmlAsPdf() - 将
new PDFFile()+CreateFromUrl()替换为ChromePdfRenderer.RenderUrlAsPdf() - 将
LoadFromFile()替换为PdfDocument.FromFile() - 将
SaveToFile()替换为SaveAs() - 根据需要更新
Print()调用 - 将退出代码检查替换为异常处理(如果适用)
后迁移
- 从源代码控制中移除 PDFFilePrint.exe
- 更新构建脚本以移除PDF 文件打印复制操作
- 在所有目标打印机上进行测试打印
- 如适用,进行跨平台测试
- 根据需要添加新功能(水印、安全功能)
- 更新文档

