How to Print PDF Files in C# 14
IronPDF 使 C# 开发人员只需调用一个方法就能以编程方式将 PDF 文件直接打印到物理打印机,为 .NET 应用程序中的自动打印工作流提供对打印机设置、分辨率(DPI)和文档处理的精确控制。
从 .NET C# 代码向打印机发送 PDF 自动化打印过程,使您可以将打印功能集成到应用程序中,减少人工操作,并确保文档制作的一致性。 它提供了对打印过程的精确控制。 对于生成发票、报告或任何需要无用户干预物理副本的文档的应用程序来说,这一功能是必不可少的。
IronPDF 提供通过一个方法调用以编程方式打印到物理打印机的选项,允许您打印多个 PDF 文件。 打印机分辨率也可通过可配置的 水平和垂直 DPI 进行指定。 使用接受Microsoft PrintController的方法,以进一步控制PDF打印过程。 在开始打印之前,请确保您已在 .NET 项目中正确安装了 IronPDF。
快速入门:使用IronPDF在.NET中打印 PDF
只需几行代码,即可使用 IronPDF 轻松打印 PDF 文档。 本指南将向您展示如何快速将PDF 打印集成到您的 .NET 应用程序中。 有了 IronPDF,您只需进行最少的设置即可将文件直接发送到打印机,同时享受灵活的设置和高质量的输出。 立即开始,简化您的文档工作流程。 如需了解更多高级打印场景,请浏览我们的综合纸张打印 PDF 指南。
最小工作流程(5 个步骤)
- 下载 IronPDF 库以打印 PDFs
- 准备用于打印的输入PDF文件
- 使用
Print方法将 PDF 文件发送至默认打印机 - 指定打印机名称以针对不同的打印机
- 使用
GetPrintDocument方法进行高级设置
如何使用 IronPDF 打印 PDF 文件?
PdfDocument对象使用,允许您同时打印新创建和现有的PDF文件。 默认情况下,该方法使用系统的默认打印机,但您可以通过将打印机名称作为字符串传递给Print方法来指定不同的打印机。 无论您是动态生成文档还是处理已有的 PDF,这种灵活性都能让您轻松地将 PDF 打印集成到现有的工作流程中。
所有打印功能仅在 Windows 系统上受支持。
我可以针对哪些打印机?
IronPDF 支持打印到 Windows 系统中任何已安装的打印机,包括网络打印机、"Microsoft Print to PDF "等虚拟打印机以及通过 USB 或网络连接的物理打印机。 要具体打印到网络打印机,请查看我们的网络打印机故障排除指南,了解更多配置技巧。
:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");
// Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")
' Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF")
将 PDF 发送至打印时会发生什么?
当您调用Print方法时,IronPDF将您的PDF文档发送到Windows打印后台程序(spooler),该后台程序管理所选打印机的打印队列。 文件将显示在打印队列中,并提供文件名、大小和状态等详细信息。 然后,打印线轴会根据打印机的功能和当前队列位置处理文档。
如何控制打印质量和分辨率?
您可以通过为Print方法提供所需的DPI值来指定打印PDF的分辨率,该方法对水平和垂直方向应用相同的DPI。 要使用不同的 DPI 值,请向方法传递两个参数:第一个用于水平(x)DPI,第二个用于垂直(y)DPI。 DPI 值越高,打印质量越好,但文件尺寸越大,处理时间越长。
何时应调整 DPI 设置?
不同的打印场景需要不同的 DPI 设置。 对于标准办公文档,150-300 DPI 可提供良好的质量。 对于高质量图形或照片,请使用 600 DPI 或更高。 打印草稿可使用 72-150 DPI,以节省时间和资源。 在创建仅供数字浏览的 PDF 时,请参考我们的 PDF 压缩指南,以优化文件大小。
:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-dpi.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");
// Set custom DPI
pdf.Print(300);
// Specify printing resolution
pdf.Print(10, 10, "Microsoft Print to PDF");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")
' Set custom DPI
pdf.Print(300)
' Specify printing resolution
pdf.Print(10, 10, "Microsoft Print to PDF")
什么 DPI 值最适合不同的打印类型?
让我们在下一个示例中看看如何栅格化和打印 PDF 文件。 DPI 的选择取决于您的具体需求:
-
文本文件: 300 DPI 可提供清晰可读的文本
-
混合内容(文本和图像): 300-400 DPI 兼顾质量和文件大小
-
高质量照片: 600 DPI 或更高,保留图像细节
-
打印草稿: 150 DPI,用于快速审阅副本
- 存档质量: 1200 DPI,可长期保存
如何在不进行物理打印的情况下保存 PDF?
PrintToFile方法通过将PDF文档转换为位图(基于像素)图像并将其保存为PDF文件来有效地栅格化PDF文档。此过程由Windows内置打印机(如"Microsoft Print to PDF")处理。值得注意的是,此方法将PDF保存到磁盘而不发送到物理打印机。 有关保存 PDF 的更多方法,请浏览我们的 导出和保存 PDF 综合指南。
为什么使用 PrintToFile 而不是常规保存?
PrintToFile在您需要模拟打印过程而无需物理输出时提供独特的优势。 它对于创建打印就绪文件、测试打印布局或生成与纸张完全一致的文档特别有用。 当您需要将 PDF 转换为特定格式或应用特定的打印机转换时,这种方法也会有所帮助。
:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print-to-file.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");
// Print to file
pdf.PrintToFile("");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")
' Print to file
pdf.PrintToFile("")
光栅化有哪些优点?
通过PrintToFile进行栅格化提供了几个好处:
-
一致的外观:确保 PDF 在不同的阅读器上看起来一致
-
字体嵌入:将文本转换为图像,消除字体兼容性问题
-
安全性:使文本不可选择并难以提取
-
打印预览:准确显示文档打印后的效果
- 文件大小优化:可减少复杂矢量图形的文件大小
如需在内存中处理 PDF 而不保存到磁盘,请参阅我们的 PDF to MemoryStream 指南。
如何访问打印机高级设置?
要自定义打印选项,请使用GetPrintDocument方法,该方法接受Microsoft PrintController对象。 此方法返回当前打印文档对象。 PrintController启用对打印过程的控制,包括异常处理、进度报告、打印对话框、打印预览和其他相关任务。 PrinterSettings选项的详细描述在代码示例下方提供。 如需定制纸张尺寸,请参阅我们的定制纸张尺寸指南。
我可以配置哪些设置?
:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-printer-setting.cs
using IronPdf;
using System.Drawing.Printing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Testing</h1>");
PrinterSettings settings = new PrinterSettings() {
PrinterName = "Microsoft Print to PDF",
// Number of Copy
Copies = 2,
// Page range to print
FromPage = 2,
ToPage = 4,
};
PrintDocument document = pdf.GetPrintDocument(settings);
// Print
document.Print();
Imports IronPdf
Imports System.Drawing.Printing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Testing</h1>")
Private settings As New PrinterSettings() With {
.PrinterName = "Microsoft Print to PDF",
.Copies = 2,
.FromPage = 2,
.ToPage = 4
}
Private document As PrintDocument = pdf.GetPrintDocument(settings)
' Print
document.Print()
每个 PrinterSettings 属性控制什么?
了解每个PrinterSettings属性帮助您微调您的打印工作流:
-
CanDuplex:指示打印机是否支持双面(双面)打印。 如果true,则可以在纸张的两面打印; 否则,无法进行双面打印。 -
Collate:指定在打印时是否应将多个PDF文件或PDF文档的副本进行整理(按照顺序组织)。 当true时,打印机会整理复印件; 当false时,则不会整理。 -
Copies: 设置打印PDF文档的份数。 它确定打印多少个相同的文档副本。 -
DefaultPageSettings: 表示打印机的默认页面设置,包括纸张大小、边距和方向。 这对于确保您的 PDF 文件在不同纸张格式上正确打印至关重要**。 -
Duplex: 指定使用的双面(双面打印)打印模式。 选项包括Duplex.Vertical。 -
InstalledPrinters: 提供系统中安装的打印机名称集合。 您可以遍历此集合以获取可用打印机的名称。 -
IsDefaultPrinter: 指示PrinterName中指定的打印机是否设置为系统的默认打印机。 -
IsPlotter: 确定打印机是否为绘图仪。 绘图仪打印机常用于大幅面打印,例如建筑或工程图纸。 -
IsValid: 指示打印设置是否有效且可以用于打印PDF文件。 -
LandscapeAngle: 指定打印机的横向方向角度(旋转),通常为90度用于纵向。 -
MaximumCopies: 表示可以为PDF打印指定的最大副本数。 -
MaximumPage: 指定可设置的打印或转换的最大页码。 -
MinimumPage: 指定可设置的打印或转换的最小页码。 -
PaperSizes: 提供打印机支持的纸张尺寸集合。 您可以查询此集合以确定可用的纸张尺寸。 -
PaperSources: 提供可用的打印机纸张来源或托盘集合。 这在选择用于打印 PDF 文件的纸张来源时很有用。 -
PrinterName: 指定用于打印或转换的打印机名称。 -
PrinterResolutions: 提供可用的打印机分辨率集合,允许选择打印质量。 -
PrintFileName: 获取或设置使用PrintToFile打印到文件的文件名。 -
PrintRange: 指定要打印的PDF页面范围,如所有页面、特定范围或选择。 使用此功能打印特定页面。 -
FromPage: 指定打印或转换的起始页码。 打印将从该页面开始。 -
ToPage: 指定打印或转换的结束页码。 打印将在到达该页面后停止。 -
PrintToFile: 指示是否打印到文件而非物理打印机。 当PrintFileName指定文件路径。 SupportsColor: 指示打印机是否支持彩色打印。 如果true,则支持彩色打印; 否则,仅限于黑白(单色)打印。
如何配置默认打印机?
最后,要将默认打印机配置为打印 PDF,请访问机器设置中的"打印机和扫描仪"部分。 在Windows 10 和 11中,导航至设置 > 设备 > 打印机和扫描仪,然后单击所需打印机旁边的"管理",然后选择"设置为默认设置",这将确保 IronPDF 在未提供特定打印机名称时使用您首选的打印机。 如需在打印前从零开始创建 PDF,请浏览我们的完整 PDF 创建教程。
常见问题解答
如何在 C# .NET 中以编程方式打印 PDF 文件?
通过 IronPDF,您只需调用一个 Print() 方法就能以编程方式打印 PDF 文件。只需使用 IronPdf.PdfDocument.FromFile("example.pdf").Print() 加载 PDF 文件,即可将其发送至默认打印机,或指定打印机名称以针对不同的打印机。
在打印 PDF 时,我可以如何控制打印机设置?
IronPDF 可精确控制打印机设置,包括分辨率(DPI)、水平和垂直分辨率。您可以使用接受 Microsoft PrinterSettings 和 PrintController 的方法对 PDF 打印过程进行高级控制。
我可以打印到特定的打印机而不是默认打印机吗?
是的,IronPDF 允许您通过将打印机名称作为字符串传递给 Print 方法来指定不同的打印机。默认情况下,它会使用系统的默认打印机,但您也可以轻松指定系统中任何可用的打印机。
是否可以自动打印多个 PDF 文件?
是的,IronPDF 支持以编程方式打印多个 PDF 文件,是批量处理和自动化工作流程的理想选择。这对于无需用户干预即可生成发票、报告或需要物理副本的文档的应用程序尤其有用。
PDF 打印支持哪些平台?
IronPDF 专注于 .NET 应用程序,而 Iron Software 还提供 IronPrint,这是一个专用打印库,兼容 Windows、macOS、Android 和 iOS 平台,可实现更广泛的打印功能。
如何在 .NET 项目中开始使用 PDF 打印?
首先,在您的 .NET 项目中安装 IronPDF,然后使用简单的工作流程:使用 PdfDocument.FromFile() 加载 PDF 文件,并调用 Print() 方法。对于高级设置,可使用 GetPrintDocument 方法访问更多打印选项。

