使用IRONPRINT

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

发布 2022年九月1日
分享:

在很多情况下,开发人员可能需要直接从应用程序中打印 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# Print PDF to Specific Printer(代码示例教程),图 1:通过软件包管理器控制台安装软件包

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

下一步是先创建一个 PDF 文档。如果不想创建新的 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 打印对话框是多么容易。打印()函数打印到默认打印机。

指定副本数量

如果需要打印一份文档的多份副本。这可以通过设置 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 还提供高级打印功能,"校对 "就是其中之一。

打印时整理 "意味着,如果您要打印多页文档的多个副本,那么在打印第二个副本之前,将先打印每个副本的所有页面。

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#

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

获取论文来源

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

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.8 刚刚发布

免费NuGet下载 总下载量: 7,289 查看许可证 >