如何在 C# 中設定列印紙張尺寸

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

IronPrint 的 PrintSettings 類別讓開發人員能透過 PaperSize 屬性直接控制紙張尺寸。 我們會從 PaperSize 枚舉中指派一個值 — 例如 PaperSize.A4PaperSize.Letter — 並將已設定的 PrintSettings 物件傳遞給 IronPrint 的任何列印方法。 印表機隨後會使用該確切的紙張尺寸來執行這項工作。

本指南將逐步說明如何設定標準紙張尺寸、將尺寸與其他列印設定結合,以及進行非同步列印——所有內容均附有可運作的 C# 程式碼。

快速入門:設定紙張尺寸

  1. 透過 NuGet 安裝 IronPrint:Install-Package IronPrint
  2. using IronPrint; 加入檔案中
  3. 建立一個 PrintSettings 物件
  4. PaperSize 設定為 PaperSize 枚舉中的任何值(例如 PaperSize.A4
  5. 將設定傳遞至 Printer.Print()Printer.PrintAsync()
  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPrint

    PM > Install-Package IronPrint
  2. 複製並運行這段程式碼。

    using IronPrint;
    
    // Print a PDF on A4 paper
    Printer.Print("report.pdf", new PrintSettings
    {
        PaperSize = PaperSize.A4
    });
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronPrint

    arrow pointer

如何在 C# 中設定列印紙張尺寸?

我們透過將 PaperSize 枚舉的值指派給 PrintSettings 物件上的 PaperSize 屬性,來設定紙張尺寸。 接著,我們將該物件傳遞給 IronPrint 的任何列印方法

:path=/static-assets/print/content-code-examples/how-to/set-paper-size/set-paper-size-set-paper-size.cs
using IronPrint;

// Configure print settings with US Letter paper
PrintSettings settings = new PrintSettings();
settings.PaperSize = PaperSize.Letter;

// Send the document to the default printer
Printer.Print("invoice.pdf", settings);
Imports IronPrint

' Configure print settings with US Letter paper
Dim settings As New PrintSettings()
settings.PaperSize = PaperSize.Letter

' Send the document to the default printer
Printer.Print("invoice.pdf", settings)
$vbLabelText   $csharpLabel

我們首先實例化 PrintSettings,其初始化時會採用印表機的預設值。 接著,我們將 PaperSize 覆寫為 PaperSize.Letter,此設定對應於標準的 8.5 × 11 英吋格式。 當我們呼叫 Printer.Print 時,IronPrint 會使用該紙張尺寸將文件傳送至系統的預設印表機。

若未指定 PaperSize,IronPrint 將使用 PaperSize.PrinterDefault,此設定會依循作業系統預設印表機所設定的紙張尺寸。 這對於印表機設定因機器而異的生產環境而言,是一項至關重要的細節。

此函式庫支援哪些紙張尺寸?

PaperSize 枚舉包含十二個值,涵蓋 ISO 國際標準、常見的美國尺寸以及印表機預設值。 下表列出了所有可用的選項。

枚舉值 標準 尺寸 (mm) 尺寸(英吋)
PaperSize.A0 ISO A0 841 × 1189 33.1 × 46.8
PaperSize.A1 ISO A1 594 × 841 23.4 × 33.1
PaperSize.A2 ISO A2 420 × 594 16.5 × 23.4
PaperSize.A3 ISO A3 297 × 420 11.7 × 16.5
PaperSize.A4 ISO A4 210 × 297 8.3 × 11.7
PaperSize.A5 ISO A5 148 × 210 5.8 × 8.3
PaperSize.B4 ISO B4 250 × 353 9.8 × 13.9
PaperSize.B5 ISO B5 176 × 250 6.9 × 9.8
PaperSize.Letter 美國信件 216 × 279 8.5 × 11.0
PaperSize.Legal 美國法律 216 × 356 8.5 × 14.0
PaperSize.Executive 美國高階主管 184 × 267 7.25 × 10.5
PaperSize.PrinterDefault 印表機預設值 變化 變化

每個數值均直接對應於某項公認的紙張標準。 PrinterDefault 選項會指示 IronPrint 使用印表機當前的設定尺寸 —— 當您希望尊重終端使用者的印表機偏好設定,而非強制採用特定格式時,此功能相當實用。

如需完整的 API 參考,請參閱 PaperSize 類別文件

如何將紙張尺寸與其他列印設定結合使用?

PrintSettings 類別除了 PaperSize 之外,還提供了數個屬性。 我們可以透過單一物件設定頁面方向DPI邊距、複印份數及灰階模式。

:path=/static-assets/print/content-code-examples/how-to/set-paper-size/set-paper-size-combined-settings.cs
using IronPrint;

// Build a fully configured print job
PrintSettings settings = new PrintSettings
{
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Landscape,
    Dpi = 300,
    NumberOfCopies = 3,
    PaperMargins = new Margins(15, 15, 15, 15),
    Grayscale = false
};

// Print a multi-page report with these settings
Printer.Print("quarterly-report.pdf", settings);
Imports IronPrint

' Build a fully configured print job
Dim settings As New PrintSettings With {
    .PaperSize = PaperSize.A4,
    .PaperOrientation = PaperOrientation.Landscape,
    .Dpi = 300,
    .NumberOfCopies = 3,
    .PaperMargins = New Margins(15, 15, 15, 15),
    .Grayscale = False
}

' Print a multi-page report with these settings
Printer.Print("quarterly-report.pdf", settings)
$vbLabelText   $csharpLabel

此處為求清晰起見,採用物件初始化語法。 PaperOrientation.Landscape 將 A4 紙張旋轉至其較寬的一邊。 Dpi 設定為 300 可確保圖表與細小文字的輸出清晰銳利。 PaperMargins 透過 Margins 建構函式接受四個以毫米為單位的數值 — 頂部、右側、底部、左側。 Grayscale 屬性的預設值為 false,但我們為提高可讀性而明確設定了此值。

這些特性可無衝突地協同運作。 IronPrint 會驗證設定,並將整合後的設定作為單一列印工作傳送至印表機驅動程式。 有關印表機選擇紙匣設定等進階設定,請參閱完整的列印設定指南

如何使用自訂紙張尺寸進行非同步列印?

對於無法阻塞主執行緒的應用情境(例如 WPF 或 WinForms 應用程式),我們會使用 Printer.PrintAsync。 此方法接受相同的 PrintSettings 物件,並傳回一個 Task

:path=/static-assets/print/content-code-examples/how-to/set-paper-size/set-paper-size-async-print.cs
using IronPrint;
using System.Threading.Tasks;

public class DocumentPrinter
{
    public async Task PrintLegalDocumentAsync(string filePath)
    {
        // Configure Legal paper size for contracts and legal documents
        PrintSettings settings = new PrintSettings
        {
            PaperSize = PaperSize.Legal,
            PaperOrientation = PaperOrientation.Portrait,
            Dpi = 300
        };

        // Print without blocking the UI thread
        await Printer.PrintAsync(filePath, settings);
    }
}
Imports IronPrint
Imports System.Threading.Tasks

Public Class DocumentPrinter
    Public Async Function PrintLegalDocumentAsync(filePath As String) As Task
        ' Configure Legal paper size for contracts and legal documents
        Dim settings As New PrintSettings With {
            .PaperSize = PaperSize.Legal,
            .PaperOrientation = PaperOrientation.Portrait,
            .Dpi = 300
        }

        ' Print without blocking the UI thread
        Await Printer.PrintAsync(filePath, settings)
    End Function
End Class
$vbLabelText   $csharpLabel

此基於類別的範例展示了一種實際的模式,其中 DocumentPrinter 服務封裝了列印邏輯。 我們採用 PaperSize.Legal(8.5 × 14 英吋)格式,此為合約及法律文件提交的標準規格。 await 關鍵字可確保在 IronPrint 處理列印工作時,呼叫執行緒仍能保持響應。

我們可以透過按鈕點擊處理程序、背景服務,或任何支援 await 的位置來呼叫此方法。 IronPrint 的非同步方法(包括 PrintAsyncShowPrintDialogAsync)接受相同的 PrintSettings 配置,因此紙張尺寸的處理行為在同步與非同步路徑中完全一致。

接下來我該怎麼做?

我們已詳述如何在 C# 中使用 IronPrint 的 PaperSize 枚舉來設定紙張尺寸,內容涵蓋從基本的單一屬性設定,到複合設定及非同步列印。 PrintSettings 類別提供了一個簡潔且強類型化的 API,可消除對紙張尺寸的推測。

若要進一步探索 IronPrint 的功能:

  • 瞭解如何設定所有列印選項,包括印表機名稱、紙匣及灰階
  • 請參閱常見情境的實際列印設定程式碼範例
  • 瀏覽完整的 API 參考文件,查閱 PrintSettingsPaperSize 等類別

立即開始 30 天試用,在您的專案中測試紙張尺寸設定,或查看用於生產環境部署的授權選項

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 38,930 | 版本: 2026.4 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronPrint
執行範例 觀看您的文件打到印表機上。