如何打印 PDF 文件

This article was translated from English: Does it need improvement?
Translated
View the article in English

查克尼特·宾

通过.NET C#代码将PDF发送到打印机可实现打印过程的自动化,从而将打印功能集成到应用程序中,减少人工操作,并确保PDF文件生产的一致性。它提供了对打印过程的精确控制。

IronPDF 提供了通过一个方法调用,以编程方式快速打印到物理打印机的选项,允许您打印多个 PDF 文件。还可以通过配置水平和垂直 DPI 来指定打印机分辨率。使用同时接受 Microsoft PrinterSettings 和 PrintController 的方法可进一步控制 PDF 打印过程。


适用于PDF的C# NuGet库

安装使用 NuGet

Install-Package IronPdf
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

适用于PDF的C# NuGet库

安装使用 NuGet

Install-Package IronPdf
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

开始在您的项目中使用IronPDF,并立即获取免费试用。

第一步:
green arrow pointer

查看 IronPDFNuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变PDF。

适用于PDF的C# NuGet库 nuget.org/packages/IronPdf/
Install-Package IronPdf

考虑安装 IronPDF DLL 直接。下载并手动安装到您的项目或GAC表单中: IronPdf.zip

手动安装到你的项目中

下载DLL

打印 PDF 文件示例

可以从 PdfDocument 对象访问 Print 方法。新渲染的和现有的 PDF 文件都可以使用该方法打印。调用 Print 方法可使用机器的默认打印机打印 PDF。然而,你也可以通过向 "Print "方法提供打印机名称字符串来打印特定的打印机。

请注意
所有打印功能仅支持 "Windows "操作系统。

: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")
VB   C#
打印队列

打印机分辨率

通过向 Print 方法传递所需的 DPI 数字,指定打印 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")
VB   C#

让我们在下一个示例中看看如何栅格化和打印 PDF 文件。


打印到文件

PrintToFile "方法是对 PDF 文档进行光栅化的快速方法,可将 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("")
VB   C#

探索打印 PDF 文档的设置

要进一步配置打印选项,请使用 GetPrintDocument 方法,该方法同时接受 Microsoft PrinterSettingsPrintController。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()
VB   C#
  • CanDuplex(双面打印):表示打印机是否支持双面打印。 (双面) 打印。如果为 "true",则可以在纸张两面打印;否则不能。
  • 整理:指定是否要整理多个 PDF 文件或 PDF 文档的副本 (有条不紊) 打印时。为 "true "时,打印机拼版;为 "false "时,不拼版。
  • 份数:设置打印 PDF 文档的份数。它决定打印多少份相同的文档副本。
  • 默认页面设置:代表打印机的默认页面设置,包括纸张大小、页边距和方向。
  • 双面:指定双面 (双面) 要使用的打印模式。选项包括双面默认打印模式、双面单面打印模式和双面打印模式。 (单面)Duplex.Horizontal 和 Duplex.Vertical。
  • 已安装打印机:提供系统中已安装打印机名称的集合。您可以遍历该集合,获取可用打印机的名称。
  • IsDefaultPrinter(默认打印机):指示 PrinterName 中指定的打印机是否被设置为系统的默认打印机。
  • IsPlotter( 绘图仪 ):确定打印机是否为绘图仪。绘图打印机通常用于大幅面打印,如建筑或工程图纸。
  • IsValid(是否有效):表示打印机设置是否有效,是否可用于打印 PDF 文件。
  • LandscapeAngle(横向角度):指定角度 (自转) 打印机的横向方向,纵向通常为 90 度。
  • 最大份数:代表打印 PDF 时可指定的最大份数。
  • 最大页数:指定打印或转换时可设置的最大页数。
  • 最小页数:指定打印或转换时可设置的最小页码。
  • 纸张尺寸:提供打印机支持的纸张尺寸集合。您可以查询该集合以确定可用的纸张尺寸。
  • 纸张来源:提供打印机可用纸源或纸盘的集合。这在选择打印 PDF 文件的纸张来源时非常有用。
  • 打印机名称:指定用于打印或转换的打印机名称。
  • 打印机分辨率:提供可用打印机分辨率集合,让您选择打印质量。
  • 打印文件名称:使用 PrintToFile 打印到文件时,获取或设置文件名。
  • 打印范围指定要打印的 PDF 页面范围,如所有页面、特定范围或选择。使用此选项可打印特定页面。
  • 从页:指定打印或转换的起始页号。打印将从该页开始。
  • ToPage:指定打印或转换的终止页码。打印到此页后将停止。
  • PrintToFile(打印到文件):表示是否打印到文件而不是物理打印机。为真时,可以使用 PrintFileName 指定文件路径。

  • SupportsColor(支持彩色):指示打印机是否支持彩色打印。若为 true,则支持彩色打印;否则,仅限于黑白打印。 (单铬) 印刷。

最后,要配置默认打印机打印 PDF,可以进入机器设置中的 "打印机和扫描仪 "部分。

查克尼特·宾

软件工程师

Chaknith 是开发者中的福尔摩斯。他第一次意识到自己可能在软件工程方面有前途,是在他出于乐趣做代码挑战的时候。他的重点是 IronXL 和 IronBarcode,但他为能帮助客户解决每一款产品的问题而感到自豪。Chaknith 利用他从直接与客户交谈中获得的知识,帮助进一步改进产品。他的轶事反馈不仅仅局限于 Jira 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。