How to Print PDF Files in C# 14
IronPDF 使 C# 开发人员只需调用一个方法就能以编程方式将 PDF 文件直接打印到物理打印机,为 .NET 应用程序中的自动打印工作流提供对打印机设置、分辨率(DPI)和文档处理的精确控制。
Explore IronPrint .NET Printing Library 是 Iron Software 的全新 .NET 打印库,提供跨多种平台的兼容性,包括 Windows、macOS、Android 和 iOS。立即了解如何开始使用 IronPrint!
从 .NET C# 代码向打印机发送 PDF 自动化打印过程,使您可以将打印功能集成到应用程序中,减少人工操作,并确保文档制作的一致性。 它提供了对打印过程的精确控制。 对于生成发票、报告或任何需要无用户干预物理副本的文档的应用程序来说,这一功能是必不可少的。
IronPDF 提供通过一个方法调用以编程方式打印到物理打印机的选项,允许您打印多个 PDF 文件。 打印机分辨率也可通过可配置的 水平和垂直 DPI 进行指定。 使用接受Microsoft PrintController的方法,以进一步控制PDF打印过程。 在开始打印之前,请确保您已在 .NET 项目中正确安装了 IronPDF。
只需几行代码,即可使用 IronPDF 轻松打印 PDF 文档。 本指南将向您展示如何快速将PDF 打印集成到您的 .NET 应用程序中。 有了 IronPDF,您只需进行最少的设置即可将文件直接发送到打印机,同时享受灵活的设置和高质量的输出。 立即开始,简化您的文档工作流程。 如需了解更多高级打印场景,请浏览我们的综合纸张打印 PDF 指南。
-
1Install IronPDF with NuGet Package Manager
-
2复制并运行这段代码。
IronPdf.PdfDocument.FromFile("example.pdf").Print();C# -
3部署到您的生产环境中进行测试
通过免费试用立即在您的项目中开始使用IronPDF
最小工作流程(5 个步骤)
- 下载 IronPDF 库以打印 PDFs
- 准备用于打印的输入PDF文件
- 使用
Print方法将 PDF 文件发送至默认打印机 - 指定打印机名称以针对不同的打印机
- 使用
GetPrintDocument方法进行高级设置
如何使用 IronPDF 打印 PDF 文件?
PdfDocument对象使用,允许您同时打印新创建和现有的PDF文件。 默认情况下,该方法使用系统的默认打印机,但您可以通过将打印机名称作为字符串传递给Print方法来指定不同的打印机。 无论您是动态生成文档还是处理已有的 PDF,这种灵活性都能让您轻松地将 PDF 打印集成到现有的工作流程中。
所有打印功能仅在 Windows 系统上受支持。
我可以针对哪些打印机?
IronPDF 支持打印到 Windows 系统中任何已安装的打印机,包括网络打印机、"Microsoft Print to PDF "等虚拟打印机以及通过 USB 或网络连接的物理打印机。 要具体打印到网络打印机,请查看我们的网络打印机故障排除指南,了解更多配置技巧。
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
Dim renderer As New ChromePdfRenderer()
Dim 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 压缩指南,以优化文件大小。
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 转换为特定格式或应用特定的打印机转换时,这种方法也会有所帮助。
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选项的详细描述在代码示例下方提供。 如需定制纸张尺寸,请参阅我们的定制纸张尺寸指南。
我可以配置哪些设置?
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 方法访问更多打印选项。
What DPI settings should I use for different print types?
The choice of DPI settings depends on your specific print needs: 300 DPI for text documents, 300-400 DPI for mixed content, 600 DPI or higher for photos, 150 DPI for draft prints, and up to 1200 DPI for archive quality.
How does IronPDF handle print queues when printing PDF documents?
IronPDF sends PDF documents to the Windows print spooler, which manages the print queue. The spooler processes documents based on the printer's capabilities and queue position, ensuring efficient document production.
How can I set up a default printer for use with IronPDF?
To set up a default printer for use with IronPDF, navigate to 'Printers & Scanners' in your Windows settings, manage your desired printer, and select 'Set as default.' This configuration ensures IronPDF uses this printer for PDF tasks by default.
Can IronPDF print to network printers?
Yes, IronPDF supports printing to any installed printer on your Windows system, including network printers. It is advisable to consult the network printer troubleshooting guide for additional configuration tips.

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。