如何在C#中打印PDF文件
通过 .NET C# 代码将 PDF 发送到打印机可实现打印过程自动化,使您能够将打印功能集成到应用程序中,减少人工操作,并确保 PDF 文件生产的一致性。 它提供了对打印过程的精确控制。
IronPDF支持通过一个方法调用快速编程打印到物理打印机,使您可以打印多个PDF文件。 打印机的分辨率也可以通过可配置的水平和垂直DPI来指定。 使用接受 Microsoft PrinterSettings 和 PrintController 的方法,以便对 PDF 打印过程进行更多控制。
如何用 C# 打印 PDF 文件
- 下载用于打印 PDF 的 IronPDF 库
- 准备打印输入的 PDF 文件
- 使用
打印
将 PDF 文件发送到默认打印机的方法 - 指定打印机名称,将其发送到不同的打印机
- 使用
获取打印文档
打印机高级设置方法
开始使用IronPDF
立即在您的项目中开始使用IronPDF,并享受免费试用。
打印 PDF 文件示例
Print
方法可以从 PdfDocument 对象访问。 使用此方法可以打印新渲染的和现有的PDF文件。 调用 Print
方法使用机器的默认打印机打印 PDF。但是,您可以通过将打印机名称作为字符串提供给 Print
方法来打印到特定的打印机。
请注意
: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")
打印机分辨率
通过将所需的DPI数字传递到Print
方法,指定打印PDF文件的分辨率。 这将设置垂直和水平的相同DPI。 如果需要垂直和水平具有不同的DPI值,您可以指定两个参数,其中第一个数字将用于水平(x)第二个是垂直(y).
: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")
让我们在下一个示例中看看如何栅格化和打印 PDF 文件。
打印到文件
PrintToFile
方法是一种将 PDF 文档光栅化为位图的快速方式。(像素式)在将它们保存为PDF文件之前,将图像格式栅格化。该栅格化由Windows内置打印机执行; 在我的情况下,它是“Microsoft Print to PDF”。这种方法只将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("")
探索打印PDF文档设置
要进一步配置打印选项,请使用 GetPrintDocument
方法,该方法接受 Microsoft PrinterSettings 和 PrintController。 GetPrintDocument
方法返回当前打印文档对象。 以下代码示例中描述了PrinterSettings选项,而PrintController可用于自定义打印执行方式,并提供处理异常和进度报告的选项,例如打印对话框、打印预览、跟踪打印过程以及其他与打印相关的任务。
: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()
- CanDuplex:指示打印机是否支持双面打印(双面)打印。 如果为真,则可以实现双面打印; 否则,它就无法做到。
- 整理:指定是否应整理多个 PDF 文件或 PDF 文档副本(有条不紊)打印时。 当为真时,打印机会整理副本; 当为 false 时,它不会。
- 副本:设置打印PDF文档的份数。 它确定将打印多少份相同的文档。
- DefaultPageSettings:代表打印机的默认页面设置,包括纸张大小、边距和方向。
- 双工:指定双工方式(双面)要使用的打印模式。 选项包括 Duplex.Default、Duplex.Simplex。(单面), Duplex.Horizontal和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:指示打印机是否支持彩色打印。 如果为真,则支持彩色打印; 否则,它仅限于黑白色(单铬)打印。
最后,要将默认打印机配置为打印 PDF,可以进入机器设置的 "打印机和扫描仪 "部分。