使用 IRONPRINT

C# 打印 PDF 到特定打印機(代碼示例教程)

發佈 2022年9月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# 打印 PDF 至特定打印機(代碼示例教程),圖 1:通過程序包管理器控制台安裝程序包

透過套件管理員控制台安裝套件

下一步是先創建一個PDF文件。 如果您不想創建新的PDF文件,也可以簡單地加載現有的PDF文件。 我們來創建一個PDF文件。

使用 URL 建立 PDF 文件

我們來使用 URL 建立 PDF 文件。IronPDF 提供了兩個函數來達成這個目的。 RenderUrlAsPdfRenderUrlAsPdfAsync兩個函數具有相同的功能,除了 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 文件的方法: RenderHtmlAsPdfRenderHtmlAsPdfAsync這些方法彼此相似,唯一的區別是 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 檔案。

GetPrintDocument 返回一個 PrintDocument 以便對 PDF 進行細緻的控制,將 PDF 發送到打印機。

然後,可以根據需要指定打印機名稱。

印表對話框

假設用戶需要使用 UI 對話框來選擇所有的印表機設置,就像在 Word 文件或 Adobe Acrobat 中出現的一樣。IronPDF 的功能可以通過傳遞一個參數來向用戶顯示印表機 GUI 對話框。 列印 如下面所示的功能。

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

只需將 Print 函數的引數傳遞為 true 值,因為預設情況下該值為 false。這展示了顯示 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#

第一行程式碼將設定要列印的第一頁的頁碼。第二行將設定要列印的文件的最後一頁。

Collate 屬性

IronPDF 也提供了先進的打印功能,其中“collate”就是其中一個功能。

在打印時,collate 的意思是,如果您正在打印多於一份的多頁文件,每份副本將在打印第二份副本之前打印每份副本的所有頁面。根據我們的選擇,可以將此屬性設置為 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#

例如,如果將 collate 屬性設為 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.8 剛剛發布

免費 NuGet 下載 總下載次數: 8,974 查看許可證 >