如何列印 PDF 文件
從 .NET C# 程式碼發送 PDF 到打印機自動化了打印過程,使您能夠在應用程序中集成打印功能,減少手動操作,並確保 PDF 文件生成的一致性。它提供了對打印過程的精確控制。
IronPDF 提供選項,通過一次方法調用即可快速程式化打印到物理打印機,允許您打印多個 PDF 文件。還可以指定具備可配置水平和垂直 DPI 的打印機解析度。使用接受 Microsoft PrinterSettings 和 PrintController 的方法,可以進一步控制 PDF 的打印過程。
如何在C#中列印PDF檔案
- 下載 C# 庫以將 PDF 列印到實體打印機
- 準備要列印的輸入 PDF 文件
- 使用
列印
將 PDF 檔案發送到默認打印機的方法 - 指定打印機名稱以發送到不同的打印機
- 使用
Get列印Document
指定 Microsoft 的方法 列印erSettings 和 列印Controller
立即開始在您的專案中使用IronPDF,並享受免費試用。
查看 IronPDF 上 Nuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變PDF。
Install-Package IronPdf
請考慮安裝 IronPDF DLL 直接下載並手動安裝到您的專案或GAC表單: IronPdf.zip
手動安裝到您的項目中
下載DLL列印 PDF 文件範例
Print
方法可以從 PdfDocument 物件中調用。使用此方法可以列印新生成和現有的 PDF 文件。調用 Print
方法可以使用機器的預設打印機列印 PDF。然而,也可以通過向 Print
方法提供列印機名稱(作為字串)來列印到特定的列印機。
請注意
: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")
列印解析度
透過將所需的 DPI 數字傳遞到 Print
方法中,來指定列印 PDF 檔案的解析度。這將為垂直和水平設置相同的 DPI。如果希望垂直和水平的 DPI 值不同,可以指定兩個參數,其中第一個數字將用於水平方向。 (x),以及第二個作為垂直 (是).
: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")
讓我們看看如何在下一個範例中光柵化並列印 PDF 檔案。
列印到檔案
PrintToFile
方法是一種快速將 PDF 文件光柵化,轉換為位圖的方法。 (基於像素) 在將它們儲存為 PDF 文件之前的圖像格式。這種光柵化是由 Windows 內建的打印機執行的;在我的案例中,它是“Microsoft Print to PDF”。此方法只將 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("")
探索打印 PDF 文件設置
要進一步配置打印選項,可以使用 GetPrintDocument
方法,它接受 Microsoft 的 PrinterSettings 和 PrintController。GetPrintDocument
方法返回當前的打印文檔對象。PrinterSettings 選項在代碼示例下面描述,而 PrintController 則可以用於自定義打印的執行方式,並提供處理異常和進度報告的選項,如打印對話框、打印預覽、跟踪打印過程和其他打印相關的任務。
: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()
CanDuplex: 表示打印機是否支援雙面列印 (雙面) 列印。如果為 true,則可以雙面打印;否則無法。
- 整理: 指定是否應將多個 PDF 文件或 PDF 文件的多個副本整理在一起。 (有序排列) 當列印時。當設定為 true 時,打印機會將副本進行整理;當設定為 false 時,則不會。
- Copies:設置要列印 PDF 文件的副本數量。它決定將列印多少份相同的文件。
- DefaultPageSettings:表示打印機的預設頁面設定,包括紙張大小、邊距和方向。
- Duplex:指定雙面列印 (雙面) 列印模式可用。選項包括 Duplex.Default, Duplex.Simplex (單面), Duplex.Horizontal, 和 Duplex.Vertical。
- InstalledPrinters: 提供系統上已安裝的印表機名稱集合。您可以遍歷此集合以獲取可用的印表機名稱。
- IsDefaultPrinter: 指示 PrinterName 中指定的印表機是否設置為系統的預設印表機。
- IsPlotter: 確定該印表機是否為繪圖儀。繪圖儀打印機通常用於大格式打印,如建築或工程圖紙。
- IsValid: 指示印表機設置是否有效,且可用於打印 PDF 文件。
- LandscapeAngle: 指定角度 (旋轉) 打印機的橫向方向,通常為垂直方向的90度。
- MaximumCopies:表示可以指定打印PDF的最大副本數。
- MaximumPage:指定可設置的打印或轉換的最大頁碼。
- MinimumPage:指定可設置的打印或轉換的最小頁碼。
- PaperSizes:提供打印機支持的紙張大小集合。可以查詢這個集合來確定可用的紙張大小。
- PaperSources:提供打印機可用的紙張來源或托盤集合。選擇打印PDF文件的紙張來源時這很有用。
- PrinterName:指定用於打印或轉換的打印機名稱。
- PrinterResolutions:提供可用的打印機分辨率集合,使您能夠選擇打印質量。
- PrintFileName:獲取或設置使用PrintToFile打印到文件時的文件名稱。
- PrintRange:指定要打印的PDF頁面範圍,例如所有頁面、特定範圍或選擇。使用這個來打印特定的頁面。
- FromPage:指定打印或轉換的起始頁碼。打印將從此頁開始。
- ToPage:指定打印或轉換的結束頁碼。打印將在達到此頁後停止。
- PrintToFile:指示是否打印到文件而不是物理打印機。為true時,可以使用PrintFileName指定文件路徑。
- SupportsColor:指示打印機是否支持彩色打印。如果為true,則支持彩色打印;否則,僅限於黑白打印 (單色) 打印。
最後,要配置預設打印機以打印 PDF,您可以前往機器設定中的「印表機和掃描器」部分。