如何列印 PDF 文件

This article was translated from English: Does it need improvement?
Translated
View the article in English

查克尼思·賓

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

IronPDF 提供選項,通過一次方法調用即可快速程式化打印到物理打印機,允許您打印多個 PDF 文件。還可以指定具備可配置水平和垂直 DPI 的打印機解析度。使用接受 Microsoft PrinterSettings 和 PrintController 的方法,可以進一步控制 PDF 的打印過程。


C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

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

第一步:
green arrow pointer

查看 IronPDFNuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變PDF。

C# NuGet 程式庫用于 PDF nuget.org/packages/IronPdf/
Install-Package IronPdf

請考慮安裝 IronPDF DLL 直接下載並手動安裝到您的專案或GAC表單: IronPdf.zip

手動安裝到您的項目中

下載DLL

列印 PDF 文件範例

Print 方法可以從 PdfDocument 物件中調用。使用此方法可以列印新生成和現有的 PDF 文件。調用 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")
VB   C#
列印隊列

列印解析度

透過將所需的 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")
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 的 PrinterSettingsPrintControllerGetPrintDocument 方法返回當前的打印文檔對象。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: 表示打印機是否支援雙面列印 (雙面) 列印。如果為 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,您可以前往機器設定中的「印表機和掃描器」部分。

查克尼思·賓

軟體工程師

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