如何打印 PDF 文件 C

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 文件範例

Print 方法可透過 PdfDocument 物件使用,允許您列印新建立的和現有的 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")
VB   C#
列印隊列

打印機解析度

您可以透過將所需的 DPI 值提供給 Print 方法來指定打印 PDF 的解析度,這將對水平和垂直維度應用相同的 DPI。 若要使用不同的 DPI 值,請將兩個參數傳遞給方法:第一個參數為橫向(x)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")
VB   C#

讓我們在下一個範例中看看如何將 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("")
VB   C#

探索列印 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()
VB   C#
  • 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 工單,並支持產品開發、文件撰寫和行銷,以提升客戶的整體體驗。不在公司時,他通常在學習機器學習、寫程式和徒步旅行。