跳過到頁腳內容
使用 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 文檔。 我們來建立一個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 和用於處理 OCR 的 IronOCR。 購買完整的 Iron Suite 套裝,即可用兩個庫的價格獲得全部五個庫。請造訪許可頁面以了解更多詳情。

常見問題解答

如何使用 C# 將 PDF 列印至特定的印表機?

若要在 C# 中將 PDF 列印至特定的印表機,請使用 IronPDF 將 PrinterSettingsPrinterName 屬性設定為所需的印表機名稱,並執行 Print 方法。

列印 PDF 時可以自訂 DPI 設定嗎?

是的,IronPDF 允許您在列印 PDF 時自訂 DPI 設定。您可以在 PrintDoc 類中指定 DPI,以符合您對列印品質的需求。

使用 IronPDF 列印 PDF 時,如何顯示列印對話?

若要顯示列印對話,請在 IronPDF 的 Print 函式的參數中傳入「true」。這將會觸發 GUI 列印對話,以便在列印前調整印表機設定。

是否可以從 PDF 中只列印特定範圍的頁面?

是的,使用 IronPDF,您可以在執行列印指令前,透過設定 PrinterSettingsFromPageToPage 屬性來列印特定範圍的頁面。

如何使用 IronPDF 列印多份 PDF?

若要列印多份,請在執行 Print 方法之前,將 IronPDF 中 PrinterSettingsCopies 屬性設定為所需的份數。

列印 PDF 時,Collate 選項有什麼作用?

IronPDF 中的 Collate 選項可確保在開始列印下一份副本之前,依序列印每份副本的所有頁面,這在列印一份文件的多份副本時非常有用。

如何檢索印表機的可用紙張來源?

在 IronPDF 中,您可以使用 PrinterSettingsPaperSources 屬性來擷取特定印表機的可用紙張來源,並從中進行選擇。

IronPDF 在 PDF 操作方面提供哪些附加功能?

IronPDF 提供的功能包括將 HTML 和 URL 呈現為 PDF、新增 BarCode、利用密碼增強文件安全性、水印等,使其成為開發人員的全面工具。

如何安裝 IronPDF 函式庫以進行 PDF 操作?

要安裝 IronPDF,請使用 Package Manager Console 中的 Install-Package IronPdf 指令,將此函式庫新增至您的 .NET 專案。

IronPDF 可以渲染現有的 PDF 文件進行列印嗎?

是的,IronPDF 可以渲染新的和現有的 PDF 文件進行列印,讓您可以指定印表機設定並輕鬆執行列印指令。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。