跳至頁尾內容
使用 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");
$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>");
$vbLabelText   $csharpLabel

將 PDF 檔案列印到指定印表機

透過使用PrinterSettingsPrinterName屬性,可以輕鬆地將 PDF 檔案列印到特定印表機。 以下示範如何使用 C# 將 PDF 文件列印到指定的印表機。

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.PrinterName = "myPrinter";
var 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);
$vbLabelText   $csharpLabel

true傳遞給Print函數的參數會顯示 GUI 列印對話方塊。 預設情況下, Print功能會將列印內容傳送到預設印表機。

請指定份數

可以透過設定PrinterSettingsCopies屬性來實現列印相同文件的多份副本。 以下範例程式碼展示了這一點:

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Copies = 5;
var 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;
$vbLabelText   $csharpLabel

這段程式碼設定了列印的起始頁和結束頁,因此只會列印文件的特定範圍。

整理屬性

列印中的Collate功能意味著,如果您要列印多份多頁文檔,則在列印第二份之前,會先列印每份文檔的所有頁面。 您可以根據需要設定此屬性。

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Collate = false;
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Collate = false;
$vbLabelText   $csharpLabel

如果將Collate設定為 false,印表機將在列印下一頁之前列印每一頁所需的所有副本。

獲取論文來源

若要取得印表機可用的紙張資源,請使用以下程式碼:

var paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources;
var 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 中顯示列印對話框,請將「true」傳遞給Print函數的參數。這將觸發圖形使用者介面 (GUI) 列印對話框,以便在列印前調整印表機設定。

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

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

如何使用 IronPDF 列印多個 PDF 文件?

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

列印 PDF 時,「整理」選項會執行什麼動作?

IronPDF 中的「整理」選項可確保在開始列印下一份副本之前,每份副本的所有頁面都按順序列印出來,這在列印文件的多個副本時非常有用。

如何取得印表機可用的紙張資源?

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

IronPDF還提供哪些額外的PDF處理功能?

IronPDF 提供將 HTML 和 URL 渲染為 PDF、添加條碼、使用密碼增強文件安全性、浮水印等功能,使其成為開發人員的綜合工具。

如何安裝 PDF 處理的 IronPDF 庫?

若要安裝 IronPDF,請在程式包管理器控制台中使用Install-Package IronPdf命令將該庫新增至您的 .NET 專案。

IronPDF能否渲染現有的PDF文件以供列印?

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

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。