How to Print PDF Files in C# 14
IronPDF 讓 C# 開發人員只需呼叫單一方法,即可透過程式化方式將 PDF 檔案直接印至實體印表機,並能精確控制印表機設定、解析度 (DPI) 及文件處理,以支援 .NET 應用程式中的自動化列印工作流程。
透過 .NET C# 程式碼將 PDF 傳送至印表機,可自動化列印流程,讓您將列印功能整合至應用程式中,減少手動操作,並確保文件產出的品質一致性。 它能精確控制列印流程。 此功能對於生成發票、報告或任何無需使用者介入即可產出實體副本的文件之應用程式而言,至關重要。
IronPDF 提供透過單一方法呼叫,即可程式化地將文件印至實體印表機的功能,讓您能夠列印多個 PDF 檔案。 印表機解析度亦可透過可設定的水平與垂直 DPI 來指定。 請使用同時支援 Microsoft PrinterSettings 與 PrintController 的方法,以進一步控制 PDF 列印流程。 在深入探討列印功能之前,請確保您已在 .NET 專案中正確安裝 IronPDF。
快速入門:使用 IronPDF for .NET 在 PDF 檔案上進行列印
只需幾行程式碼,即可透過 IronPDF 輕鬆列印您的 PDF 文件。 本指南將向您展示如何快速將 PDF 列印功能整合至您的 .NET 應用程式中。 透過 IronPDF,您只需進行最少的設定,即可直接將檔案傳送至印表機,同時享受靈活的設定選項與高品質的輸出效果。 立即開始,簡化您的文件工作流程。 若需處理更進階的列印情境,請參閱我們詳盡的 PDF 紙本列印指南。
簡化工作流程(5 個步驟)
- 下載 IronPDF 函式庫以列印 PDF 檔案
- 準備用於列印的輸入 PDF 檔案
- 請使用
Print方法將 PDF 傳送至預設印表機 - 指定印表機名稱以針對不同印表機
- 使用
GetPrintDocument方法進行進階設定
如何使用 IronPDF 列印 PDF 檔案?
可透過 PdfDocument 物件使用 Print 方法,讓您能列印新建立及現有的 PDF 檔案。 預設情況下,此方法會使用系統的預設印表機,但您可以透過將印表機名稱作為字串傳遞給 Print 方法,來指定其他印表機。 這種靈活性讓您能輕鬆將 PDF 列印功能整合至現有工作流程中,無論是動態產生文件,還是處理現有的 PDF 檔案。
我可以鎖定哪些印表機?
IronPDF 支援列印至 Windows 系統上已安裝的任何印表機,包括網路印表機、"Microsoft Print to PDF"等虛擬印表機,以及透過 USB 或網路連接的實體印表機。 若需針對網路印表機進行列印,請參閱我們的網路印表機疑難排解指南,以獲取更多設定建議。
:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");
// Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")
' Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF")
當我將 PDF 送印時會發生什麼事?
當您呼叫 Print 方法時,IronPDF 會將您的 PDF 文件傳送至 Windows 列印暫存區,該暫存區負責管理所選印表機的列印佇列。 該文件會連同檔案名稱、大小及狀態等詳細資訊一併顯示於列印佇列中。 列印排程器隨後會根據印表機的功能及當前佇列位置來處理該文件。
如何控制列印品質與解析度?
您可以透過向 Print 方法提供所需的 DPI 值,來指定列印 PDF 的解析度;該方法會將相同的 DPI 值套用至水平與垂直兩維度。 若要使用不同的 DPI 值,請向方法傳遞兩個參數:第一個參數代表水平 (x) DPI,第二個參數代表垂直 (y) DPI。 較高的 DPI 值可產生更優質的 PRINT 效果,但會導致檔案大小增加且處理時間延長。
何時應調整 DPI 設定?
不同的列印情境需要不同的 DPI 設定。 對於標準的辦公室文件,150-300 DPI 可提供良好的品質。 若需高品質圖形或照片,請使用 600 DPI 或更高解析度。 初稿可採用 72-150 DPI 解析度,以節省時間與資源。 若僅需製作供數位瀏覽用的 PDF 檔案,請參閱我們的 PDF 壓縮指南以優化檔案大小。
:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-dpi.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");
// Set custom DPI
pdf.Print(300);
// Specify printing resolution
pdf.Print(10, 10, "Microsoft Print to PDF");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")
' Set custom DPI
pdf.Print(300)
' Specify printing resolution
pdf.Print(10, 10, "Microsoft Print to PDF")
不同列印類型最適合使用哪些 DPI 值?
讓我們在接下來的範例中,看看如何將 PDF 檔案轉為點陣圖並進行列印。 DPI 的選擇取決於您的具體需求:
-
文字文件:300 DPI 可呈現清晰易讀的文字
-
混合內容(文字與圖片):300-400 DPI 以平衡畫質與檔案大小
-
高品質照片:600 DPI 或更高解析度可保留影像細節
-
初稿列印:150 DPI(用於快速審閱)
- 存檔品質:1200 DPI,適用於長期保存
如何在不進行實體列印的情況下節省 PDF 檔案?
PrintToFile 方法透過將 PDF 文件轉換為點陣圖(基於像素)影像,並儲存為 PDF 檔案,從而高效地將其柵格化。此流程由 Windows 內建印表機(例如"Microsoft Print to PDF")處理。值得注意的是,此方法會將 PDF 儲存至磁碟,而不會傳送至實體印表機。 如需更多節省 PDF 的方法,請參閱我們關於匯出與儲存 PDF 的完整指南。
為何要使用 PrintToFile 而不是一般儲存功能?
PrintToFile 在您需要模擬列印流程卻無需實體輸出時,能提供獨特的優勢。 它特別適用於建立可直接列印的檔案、測試列印版面配置,或產生與紙本顯示效果完全一致的文件。 此方法亦可協助您將 PDF 轉換為特定格式,或套用特定印表機的轉換設定。
:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print-to-file.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");
// Print to file
pdf.PrintToFile("");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")
' Print to file
pdf.PrintToFile("")
光柵化的優勢有哪些?
透過 PrintToFile 進行光柵化可帶來多項優勢:
-
外觀一致性:確保 PDF 在不同檢視器中呈現相同樣式
-
字型嵌入:將文字轉換為圖像,消除字型相容性問題
-
安全性:使文字無法被選取,並增加提取難度
-
列印預覽:精確顯示文件列印後的實際樣貌
- 檔案大小優化:可縮小複雜向量圖形的檔案大小
若需在不儲存至磁碟的情況下於記憶體中處理 PDF,請參閱我們的《PDF 轉 MemoryStream 指南》。
如何存取進階印表機設定?
若要自訂 PRINT 選項,請使用 GetPrintDocument 方法,該方法可接受 Microsoft PrinterSettings 及 PrintController 物件。 此方法會傳回當前的列印文件物件。 PrinterSettings 讓您能夠設定頁碼範圍和印表機選擇等選項,而 PrintController 則可讓您控制列印流程,包括處理例外狀況、進度回報、列印對話方塊、列印預覽及其他相關任務。 PrinterSettings 選項的詳細說明位於程式碼範例下方。 如需自訂紙張尺寸,請參閱我們的自訂紙張尺寸指南。
我可以設定哪些選項?
:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-printer-setting.cs
using IronPdf;
using System.Drawing.Printing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Testing</h1>");
PrinterSettings settings = new PrinterSettings() {
PrinterName = "Microsoft Print to PDF",
// Number of Copy
Copies = 2,
// Page range to print
FromPage = 2,
ToPage = 4,
};
PrintDocument document = pdf.GetPrintDocument(settings);
// Print
document.Print();
Imports IronPdf
Imports System.Drawing.Printing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Testing</h1>")
Private settings As New PrinterSettings() With {
.PrinterName = "Microsoft Print to PDF",
.Copies = 2,
.FromPage = 2,
.ToPage = 4
}
Private document As PrintDocument = pdf.GetPrintDocument(settings)
' Print
document.Print()
各 PrinterSettings 屬性分別控制什麼?
了解每個 PrinterSettings 屬性,有助於您微調列印工作流程:
-
CanDuplex:表示印表機是否支援雙面列印。 若true,則可進行雙面列印; 否則,則無法。 -
Collate:指定在列印時,應將多個 PDF 檔案或同一份 PDF 文件的複本進行編排(依序排列)。 當true時,印表機會將副本進行分頁; 當false時,它並不會。 -
Copies:設定要列印的 PDF 文件份數。 此設定決定將列印多少份相同的文件副本。 -
DefaultPageSettings:代表印表機的預設頁面設定,包括紙張尺寸、邊距及方向。 這對於確保您的 PDF 能在不同紙張格式上正確列印至關重要。 -
Duplex:指定要使用的雙面列印模式。 選項包括Duplex.Horizontal以及Duplex.Vertical。 -
InstalledPrinters:提供系統中已安裝印表機名稱的清單。 您可以遍歷此集合以取得可用印表機的名稱。 -
IsDefaultPrinter:表示PrinterName中指定的印表機是否已設定為系統的預設印表機。 -
IsPlotter:用於判斷印表機是否為繪圖機。 繪圖機常被用於大幅面列印,例如建築或工程圖紙。 -
IsValid:表示印表機設定是否有效,以及是否可用於列印 PDF 檔案。 -
LandscapeAngle:指定印表機橫向列印的傾斜角度(旋轉角度),直向列印通常為 90 度。 -
MaximumCopies:代表 PDF 列印時可指定的最大份數。 -
MaximumPage:指定可設定的PRINT或轉換最大頁數。 -
MinimumPage:指定可設定用於列印或轉換的最小頁碼。 -
PaperSizes:提供印表機支援的紙張尺寸清單。 您可以查詢此資料庫以確認可用的紙張尺寸。 -
PaperSources:提供印表機可用的紙張來源或紙匣清單。 這在選擇用於列印 PDF 檔案的紙張來源時會很有幫助。 -
PrinterName:指定用於列印或轉換的印表機名稱。 -
PrinterResolutions:提供一系列可用的印表機解析度,讓您選擇列印品質。 -
PrintFileName:在使用PrintToFile將文件印至檔案時,用以取得或設定檔案名稱。 -
PrintRange:指定要列印的 PDF 頁面範圍,例如所有頁面、特定範圍或選取範圍。 使用此功能來列印特定頁面。 -
FromPage:指定PRINT或轉換的起始頁碼。 將從此頁面開始列印。 -
ToPage:指定PRINT或轉換時的結束頁碼。 到達此頁面後,PRINT將停止。 -
PrintToFile:指示是否將內容輸出至檔案,而非實體印表機。 當true時,您可以使用PrintFileName指定檔案路徑。 SupportsColor:表示印表機是否支援彩色列印。 若true,則支援彩色列印; 否則,僅限於黑白(單色)列印。
如何設定預設印表機?
最後,若要將預設印表機設定為 PDF 列印,請前往裝置設定中的"印表機與掃描器"區段。 在 Windows 10 和 11 中,請前往"設定">"裝置">"印表機與掃描器",點擊目標印表機旁的"管理",然後選擇"設為預設"。此設定可確保當未指定特定印表機名稱時,IronPDF 會使用您偏好的印表機。 若需在列印前從頭建立 PDF 檔案,請參閱我們的完整 PDF 建立教學指南。
常見問題
如何在 C# .NET 中透過程式碼列印 PDF 檔案?
IronPDF 讓您能透過單一方法呼叫(使用 PRINT() 方法)以程式化方式列印 PDF 檔案。只需使用 IronPdf.PdfDocument.FromFile("example.pdf").Print() 載入您的 PDF 檔案,即可將其傳送至預設印表機;或指定印表機名稱以選取其他印表機。
在列印 PDF 時,我對印表機設定有哪些控制權?
IronPDF 提供對印表機設定(包括水平與垂直解析度(DPI))的精確控制。您可以使用接受 Microsoft PrinterSettings 和 PrintController 的方法,對 PDF 列印流程進行進階控制。
我可以將文件印至特定印表機,而非預設的印表機嗎?
是的,IronPDF 允許您透過將印表機名稱作為字串傳遞給 PRINT 方法,來指定不同的印表機。預設情況下,它會使用系統的預設印表機,但您可以輕鬆指定系統上任何可用的印表機。
是否可以自動列印多個 PDF 檔案?
是的,IronPDF 支援透過程式化方式列印多個 PDF 檔案,使其成為批次處理和自動化工作流程的理想選擇。這對於需要生成發票、報告或需列印實體副本的文件,且無需使用者介入的應用程式而言,特別實用。
PDF 列印支援哪些平台?
雖然 IronPDF 專注於 .NET 應用程式,但 Iron Software 亦提供 IronPrint——一款專用的列印程式庫,相容於 Windows、macOS、Android 及 iOS 平台,以提供更廣泛的列印功能。
如何在我的 .NET 專案中開始進行 PDF 列印?
首先,請在您的 .NET 專案中安裝 IronPDF,接著使用以下簡易工作流程:透過 PdfDocument.FromFile() 載入 PDF 檔案,並呼叫 PRINT() 方法。若需進階設定,請使用 GetPrintDocument 方法來存取更多列印選項。

