使用IRONPRINT

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

发布 2022年九月1日
分享:

在很多情况下,开发人员可能需要直接从应用程序中打印 PDF 文档。 当用户想打印多个PDF文件或使用除默认打印机以外的特定打印机名称时,此任务有时会显得复杂。 如今,有多种方法可以帮助我们打印 PDF 文件。 其中有些需要付费,有些性能不稳定,有些难以实现。

IronPDF for .NET 提供了一组可用于以编程方式创建 PDF 文件的类。 这些类位于 IronPDF.Core 程序集中,旨在方便使用任何 .NET 语言,包括 C#、VB.NET、F# 等。该库提供了创建 PDF 文档、操作现有 PDF、阅读 PDF、打印 PDF 以及以编程方式创建 PDF 表单的多种功能。

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

安装 IronPDF

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

Install-Package IronPrint

C# Print PDF to Specific Printer(代码示例教程),图 1:通过软件包管理器控制台安装软件包

通过软件包管理器控制台安装软件包

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

使用 URL 创建 PDF 文档

让我们使用 URL 创建一个 PDF 文档。 IronPDF 为此提供了两种功能。 将URL渲染为PDFRenderUrlAsPdfAsync. 除了 RenderUrlAsPdfAsync 提供异步功能外,这两个函数具有相同的功能。

以下代码片段将从 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")
VB   C#

使用 HTML 字符串创建 PDF 文档

也可以使用 HTML 字符串创建 PDF 文档。 IronPdf 提供两种使用 HTML 字符串创建 PDF 文件的方法:将Html渲染为PdfRenderHtmlAsPdfAsync. 这些方法彼此类似,唯一的区别是 RenderHtmlAsPdfAsync 用于异步操作。

以下代码片段将从 HTML 创建 PDF 文件。

IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(@"<h1>My PDF File</h1> <p>This is 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 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 sample PDF document created to demonstrate the PDF File generation using HTML string</p>")
VB   C#

将 PDF 文件打印到特定打印机

有多种情况需要使用特定打印机打印 PDF 文件。 这项任务只需使用 PrinterSettings.PrinterName 属性即可完成。 将您的打印机名称设置为该属性。 让我们快速演示一下如何用 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"
VB   C#

pdf "指的是刚刚从 URL 中创建的 PDF 文件。

获取打印文档返回 PDF 的 "PrintDocument",允许对将 PDF 发送到打印机进行细粒度控制。

然后,可根据需要指定打印机名称。

打印对话

假设用户需要使用 Word 文档或 Adobe Acrobat 中的用户界面对话框选择所有打印机设置。 IronPDF 的功能可以向用户显示打印图形用户界面对话框,只需通过一个参数向打印功能,如下图所示。

pdf.Print(true);
pdf.Print(true);
pdf.Print(True)
VB   C#

只需将 true 值传递给 Print 函数的参数,因为默认情况下这是假的。 它展示了显示 GUI 打印对话是多么容易。 `pdf.Print()函数打印到默认打印机。

指定份数

如果需要打印一份文件的多份副本。 这可以通过设置 PrinterSettings.Copies 属性轻松实现。 下面的示例代码演示了这一点。

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Copies = 5;
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Copies = 5;
Dim printDoc = pdf.GetPrintDocument()
printDoc.PrinterSettings.Copies = 5
VB   C#

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

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

通常情况下,用户可能不想打印完整的文档。 在这种情况下,指定 PrinterSettings.FromPage``PrinterSettings.ToPage 属性将有助于完成工作。

以下代码演示了 IronPDF 这一功能的使用。

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
VB   C#

第一行代码将设置需要打印的第一页的页码。 第二行将设置打印文档的最后一页。

整理属性

IronPdf 还提供高级打印功能--"整理 "就是其中之一。

打印时整理是指如果要打印多页文档的多个副本,则在打印第二个副本之前,将打印每个副本的所有页面。 该属性可根据我们的选择设置为 true 或 false。

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Collate = false;
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Collate = false;
Dim printDoc = pdf.GetPrintDocument()
printDoc.PrinterSettings.Collate = False
VB   C#

例如,如果校对属性设置为 false,则会在打印下一页之前打印给定页面的所有必要副本。 换句话说,将此属性设置为 false 将提供与 collate 属性相反的功能。

获取论文来源

还可以获得打印机的纸张来源。

var paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources;
var paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources;
Dim paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources
VB   C#

结论

IronPDF 为开发需要打印功能的 .NET 应用程序提供了所有必要的功能。 打印 PDF 文件有多种选择。 使用最适合您需求的任意选项,还可以打印多个 PDF 文件。

摘要

本教程演示了如何使用 IronPDF 库将特定打印机直接打印为 PDF - 该库可免费用于开发并提供高性能级别。 有关 IronPDF 的更多打印 PDF 功能,请点击此处样本页.

此外,IronPDF 还具有以下能力渲染图PDF 格式、添加条形码, 利用密码提高安全性水印只需几行代码。

还有其他许多有用的库,如处理 Excel 文档的 IronXL、处理条形码的 IronBarcode 和处理 OCR 的 IronOCR。 目前,您只需购买完整的 Iron Suite,就能以两个库的价格获得全部五个库。请访问许可页面了解更多详情。

< 前一页
如何用VB.NET打印PDF的分步教程
下一步 >
在C#中如何无对话框打印PDF文件

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 12,923 查看许可证 >