跳至页脚内容
使用 IRONPRINT

C# 将 PDF 打印到特定打印机(代码示例教程)

开发者可能需要在应用程序中直接打印PDF文档的场合有很多。 当用户想要打印多个 PDF 文件或使用默认打印机名以外的特定打印机名时,此任务有时可能显得复杂。 多种方法可以帮助我们打印PDF文件。 其中有些需要付费,有些表现不稳定,还有些实现起来困难。

IronPDF是一个.NET库,提供了一组用于以编程方式创建PDF文件的类。 这些类位于IronPDF.Core程序集内,设计为能够与任何.NET语言(包括C#、VB.NET、F#等)轻松使用。该库提供了许多功能用于创建PDF文档、操作现有PDF、读取PDF、打印PDF和以编程方式创建PDF表单。

让我们来看一些用于打印PDF文件的示例代码片段。

安装 IronPDF。

首先,安装IronPDF库。 为此,请进入包管理器控制台并写入以下命令。

Install-Package IronPrint

C#打印PDF到特定打印机(代码示例教程),图1:通过包管理器控制台安装包 通过包管理器控制台安装包

下一步是创建PDF文档。 如果您不想创建新文档,也可以简单加载现有的PDF文档。 让我们创建一个PDF文档。

使用URL创建PDF文档

IronPDF提供了两个使用URL创建PDF文档的函数:RenderUrlAsPdfRenderUrlAsPdfAsyncRenderUrlAsPdfAsync提供了异步功能。

以下代码片段将从URL创建一个PDF文件。

var renderer = new IronPdf.ChromePdfRenderer();
PdfDocument doc = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
var renderer = new IronPdf.ChromePdfRenderer();
PdfDocument doc = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim doc As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
$vbLabelText   $csharpLabel

使用HTML字符串创建PDF文档

可以使用HTML字符串创建PDF文档。 IronPDF为此目的提供了两种方法:RenderHtmlAsPdfRenderHtmlAsPdfAsyncRenderHtmlAsPdfAsync方法用于异步操作。

以下代码片段将从HTML字符串创建一个PDF文件。

IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(@"<h1>My PDF File</h1> <p>This is a sample PDF document created to demonstrate the PDF file generation using HTML string</p>");
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(@"<h1>My PDF File</h1> <p>This is a sample PDF document created to demonstrate the PDF file generation using HTML string</p>");
Dim renderer As New IronPdf.ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>My PDF File</h1> <p>This is a sample PDF document created to demonstrate the PDF file generation using HTML string</p>")
$vbLabelText   $csharpLabel

打印PDF文件到特定打印机

使用PrinterSettingsPrinterName属性可以轻松实现将PDF文件打印到特定的打印机。 这是一种在C#中打印PDF文档到特定打印机的演示。

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.PrinterName = "myPrinter";
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.PrinterName = "myPrinter";
Dim printDoc = pdf.GetPrintDocument()
printDoc.PrinterSettings.PrinterName = "myPrinter"
$vbLabelText   $csharpLabel

pdf变量指的是创建的PDF文档。 GetPrintDocument方法返回一个PrintDocument实例,允许对将PDF发送到打印机进行细粒度控制。

打印对话框

如果用户需要使用类似于Word文档或Adobe Acrobat中出现的UI对话框来选择所有打印机设置,IronPDF可以通过将一个参数传递给Print函数来显示打印GUI对话框。

pdf.Print(true);
pdf.Print(true);
pdf.Print(True)
$vbLabelText   $csharpLabel

true传递给Print函数的参数会显示GUI打印对话框。 默认情况下,Print函数会打印到默认打印机。

指定副本数量

通过设置PrinterSettingsCopies属性可以打印单个文档的多份副本。 以下示例代码显示了这个功能:

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Copies = 5;
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Copies = 5;
Dim printDoc = pdf.GetPrintDocument()
printDoc.PrinterSettings.Copies = 5
$vbLabelText   $csharpLabel

这里,pdf是当前的打印文档对象。

选择页面范围以打印PDF文件

如果您不想打印完整的文档,可以指定PrinterSettingsFromPageToPage属性。

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.FromPage = 3;
printDoc.PrinterSettings.ToPage = 3;
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.FromPage = 3;
printDoc.PrinterSettings.ToPage = 3;
Dim printDoc = pdf.GetPrintDocument()
printDoc.PrinterSettings.FromPage = 3
printDoc.PrinterSettings.ToPage = 3
$vbLabelText   $csharpLabel

此代码设置了打印的开始和结束页,因此只打印文档中的特定范围。

交错打印属性

打印中的Collate功能意味着如果你打印多份多页文档,副本将打印所有页面,然后再打印第二份。 您可以根据需要设置此属性。

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Collate = false;
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Collate = false;
Dim printDoc = pdf.GetPrintDocument()
printDoc.PrinterSettings.Collate = False
$vbLabelText   $csharpLabel

如果将Collate设置为false,打印机会在打印下一页之前打印所有需要的各页副本。

获取纸张来源

要检索打印机的可用纸张来源,请使用以下代码:

var paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources;
var paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources;
Dim paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources
$vbLabelText   $csharpLabel

结论

IronPDF提供了用于开发需要打印功能的.NET应用程序的所有必要功能。 多种选项可用于打印PDF文件,允许您选择最适合您需求的方法并打印多个PDF文件。

摘要

本教程演示了如何使用IronPDF库简单地将PDF打印到特定的打印机—它是开发免费且提供高性能级别的工具。 有关IronPDF更多打印PDF功能,请浏览此示例页面

此外,IronPDF能够渲染图表添加条码通过密码增强安全性,以及水印,只需几行代码。

此外,还有其他有用的库,如用于处理Excel文档的IronXL,用于处理条码的IronBarcode,以及用于光学字符识别的IronOCR。 通过购买完整的Iron Suite,您可以以仅购买两个库的价格获得全部五个库。请访问许可页面了解更多详情。

常见问题解答

如何在 C# 中将 PDF 打印到特定打印机?

要在 C# 中将 PDF 打印到特定打印机,使用 IronPDF 设置 PrinterSettings 的 PrinterName 属性为所需的打印机名称,并执行 Print 方法。

打印 PDF 时可以自定义 DPI 设置吗?

可以,IronPDF 允许您在打印 PDF 时自定义 DPI 设置。您可以在 PrintDoc 类中指定 DPI 以满足您的打印质量需求。

如何在使用 IronPDF 打印 PDF 时显示打印对话框?

要显示打印对话框,请在 IronPDF 的 Print 函数参数中传入 'true'。这将触发 GUI 打印对话框以调整打印机设置,然后再打印。

是否可以仅打印 PDF 中的特定页范围?

可以,使用 IronPDF,您可以通过在执行打印命令之前设置 PrinterSettings 的 FromPageToPage 属性来打印特定页范围。

如何使用IronPDF打印PDF的多份副本?

要打印多份副本,请在执行 Print 方法之前,将 IronPDF 中 PrinterSettings 的 Copies 属性设置为所需的副本数量。

打印 PDF 时的 Collate 选项有什么作用?

IronPDF 中的 Collate 选项确保在开始打印下一份副本之前,先按顺序打印每份副本的所有页面,这在打印多个文档副本时非常有用。

如何检索打印机可用的纸张来源?

在 IronPDF 中,您可以使用 PrinterSettings 的 PaperSources 属性来检索并选择特定打印机的可用纸张来源。

IronPDF 提供了哪些用于 PDF 操作的附加功能?

IronPDF 提供的功能包括将 HTML 和 URL 渲染为 PDF,添加条形码,通过密码增强文档安全性,加水印等,使其成为开发人员的综合工具。

如何安装 IronPDF 库进行 PDF 操作?

要安装 IronPDF,请在 Package Manager Console 中使用 Install-Package IronPdf 命令,将库添加到您的 .NET 项目中。

IronPDF 可以渲染现有 PDF 文档进行打印吗?

可以,IronPDF 可以渲染新 PDF 和现有 PDF 文档进行打印,允许您指定打印设置并轻松执行打印命令。

Curtis Chau
技术作家

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

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。