使用 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 文件。

使用 URL 建立 PDF 文件

讓我們使用 URL 建立一個 PDF 文件。 IronPDF 提供兩個功能來達成此目的。 RenderUrlAsPdfRenderUrlAsPdfAsync. 兩個函數具有相同的功能,區別在於 RenderUrlAsPdfAsync 提供非同步功能。

以下程式碼片段將從網址創建 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 發送到打印機進行細緻控制。

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

列印對話框

假設使用者需要使用用戶介面對話框選擇所有的打印設置,如同在 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.FromPagePrinterSettings.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,281 查看許可證 >