如何打印 PDF 文件 C

Chaknith related to 如何打印 PDF 文件 C
查克尼思·賓
2023年10月10日
已更新 2025年1月6日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

從 .NET C# 代碼發送 PDF 到打印機可自動化打印過程,使您能夠將打印功能整合到應用程序中,減少手動操作,並確保 PDF 文件生產的一致性。 它提供對列印過程的精確控制。

IronPDF 提供了一個選項,可以通過一個方法調用快速地將程序打印到實體打印機,允許您打印多個 PDF 文件。 列印機解析度也可以通過可配置的水平和垂直DPI來指定。 使用接受 Microsoft PrinterSettingsPrintController 的方法,以進一步控制 PDF 打印過程。


開始使用 IronPDF

立即在您的專案中使用IronPDF,並享受免費試用。

第一步:
green arrow pointer


列印 PDF 文件範例

通過 PdfDocument 物件可以使用 Print 方法,允許您列印新建立和現有的 PDF 檔案。 預設情況下,該方法使用系統的預設印表機,但您可以透過將其名稱作為字串傳遞給Print方法來指定不同的印表機。

請注意
所有列印功能僅支援「Windows」。

: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")
$vbLabelText   $csharpLabel
列印隊列

打印機解析度

您可以透過將所需的 DPI 值提供給 Print 方法來指定列印 PDF 的解析度,此方法會將同樣的 DPI 應用於水平和垂直維度。 要使用不同的 DPI 值,請向方法傳遞兩個參數:第一個參數為水平 (x) DPI,第二個參數為垂直 (y) DPI。

: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")
$vbLabelText   $csharpLabel

讓我們在下一個範例中看看如何將 PDF 文件光柵化並列印。


列印至檔案

PrintToFile 方法通過將 PDF 文件轉換為位圖(基於像素)圖像並將它們保存為 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("")
$vbLabelText   $csharpLabel

探索列印 PDF 文件設定

要自訂列印選項,請使用 GetPrintDocument 方法,該方法接受 Microsoft PrinterSettingsPrintController 對象。 此方法返回目前的列印文件物件。 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()
$vbLabelText   $csharpLabel
  • CanDuplex:指示打印機是否支持雙面列印。 如果為真,則可以在紙張的兩面進行打印; 否則,它不能。
  • 整理:指定多個 PDF 文件或 PDF 文件的多個副本在列印時是否應進行整理(按順序組織)。 當設定為真時,印表機會整理文件副本; 當為假時,則不會。
  • 副本:設定要列印的 PDF 文件份數。 它確定將打印多少份相同的文件。
  • DefaultPageSettings:表示列印機的預設頁面設定,包括紙張大小、邊距和方向。
  • 雙面打印:指定要使用的雙面(雙面)打印模式。 選項包括 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:指示是否列印至檔案而非實體印表機。 當為真時,您可以使用 PrintFileName 指定文件路徑。
  • SupportsColor:指示印表機是否支援彩色列印。 如果為真,則支持彩色打印; 否則,它僅限於黑白(單色)打印。

    最後,要設定預設印表機以列印 PDF,您可以前往機器設定中的「印表機與掃描器」部分。

Chaknith related to 探索列印 PDF 文件設定
軟體工程師
Chaknith 是開發者界的夏洛克福爾摩斯。他第一次意識到自己可能有個軟體工程的未來,是在他為了娛樂而參加程式挑戰的時候。他的重點是 IronXL 和 IronBarcode,但他也引以為豪的是,他幫助客戶解決所有產品的問題。Chaknith 利用他與客戶直接對話中獲得的知識,以進一步改進產品。他的實際反饋超越了 Jira 工單,並支持產品開發、文件撰寫和行銷,以提升客戶的整體體驗。不在公司時,他通常在學習機器學習、寫程式和徒步旅行。