C#でpdf 印刷する際の用紙サイズを設定する方法

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

IronPrintのPaperSizeプロパティを通じて開発者に用紙サイズの直接的なコントロールを提供します。 PrintSettingsオブジェクトをIronPrintの印刷メソッドのいずれかに渡します。 その後、プリンターはその正確な用紙サイズを使用してジョブを実行します。

このガイドでは、標準的な用紙サイズの設定、印刷設定との組み合わせ、非同期印刷について、すべて動作するC#コードとともに解説します。

クイックスタート: 用紙サイズを設定

  1. NuGetを使ってIronPrintをインストールする: Install-Package IronPrint
  2. ファイルにusing IronPrint;を追加する
  3. PrintSettingsオブジェクトを作成する
  4. PaperSize列挙型から任意の値に設定する (例えば、PaperSize.A4)
  5. 設定をPrinter.PrintAsync()に渡す
  1. IronPrint をNuGetパッケージマネージャでインストール

    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列挙型からPaperSizeプロパティに値を割り当てて、PrintSettingsオブジェクト上で用紙サイズを設定します。 そのオブジェクトを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.Letterでオーバーライドし、標準8.5×11インチフォーマットにマッピングします。 Printer.Printを呼び出すと、IronPrintはその用紙サイズを使用してシステムのデフォルトプリンターにドキュメントを送信します。

PaperSize.PrinterDefaultを使用し、オペレーティングシステムのデフォルトプリンターで設定されている用紙サイズに依存します。 プリンターの設定がマシンごとに異なる生産環境では、これは重要な詳細です。

ライブラリーがサポートする用紙サイズはどれですか?

PaperSize列挙型には、ISO国際標準、一般的な米国サイズ、およびプリンターデフォルトをカバーする12の値が含まれています。 以下の表には利用可能なすべてのオプションが示されています。

列挙値 標準 寸法 (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 USレター 216 × 279 8.5 × 11.0
PaperSize.Legal US Legal 216 × 356 8.5 × 14.0
PaperSize.Executive US Executive 184 × 267 7.25 × 10.5
PaperSize.PrinterDefault プリンターデフォルト さまざま さまざま

各値は直接的に著名な用紙標準にマッピングされます。 PrinterDefaultオプションは、プリンターが現在設定されているサイズを使用するようにIronPrintに指示します。これは、特定のフォーマットを強制するよりもエンドユーザーのプリンター設定を尊重したい場合に便利です。

PaperSizeクラスのドキュメントで完全なAPIリファレンスを参照してください。

用紙サイズを他の印刷設定と組み合わせる方法は?

PaperSize以外にもいくつかのプロパティを公開しています。 方向DPI余白、コピー数、グレースケールモードを1つのオブジェクトで設定できます。

: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用紙をその幅の広い軸に回転させます。 300のDpiは、チャートや細かいテキストのために鮮明な出力を保証します。 Marginsコンストラクタを通じて設定します。 falseデフォルトですが、可読性のために明示的に設定します。

これらのプロパティは、競合することなく一緒に機能します。 IronPrintは構成を検証し、単一の印刷ジョブとしてそれをプリンタードライバーに送信します。 プリンターの選択トレイ設定のような高度な設定については、完全な印刷設定ガイドを参照してください。

カスタム用紙サイズで非同期印刷する方法は?

メインスレッドをブロックすることができないアプリケーション、例えばWPFまたはWinFormsアプリでは、Printer.PrintAsyncを使用します。 このメソッドは同じ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構成を受け入れるため、同期および非同期パス間での用紙サイズの挙動は同一です。

次のステップは何ですか?

IronPrintのPaperSize列挙型を使用してC#で用紙サイズを設定する方法を、基本的な単一プロパティの設定から、複合設定および非同期印刷に至るまで解説しました。 PrintSettingsクラスは、用紙寸法に関する推測を排除するクリーンで強く型付けされたAPIを提供します。

IronPrintの機能をさらに探るために:

30日間の無料トライアルを開始して、あなた自身のプロジェクトで用紙サイズの設定をテストする。または、ライセンスオプションを表示して本番環境配備用のライセンスを確認する。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 38,930 | バージョン: 2026.4 リリース
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPrint
サンプルを実行する プリンターに出力されるドキュメントを見る。