C#でpdf 印刷する際の用紙サイズを設定する方法
IronPrintのPaperSizeプロパティを通じて開発者に用紙サイズの直接的なコントロールを提供します。 PrintSettingsオブジェクトをIronPrintの印刷メソッドのいずれかに渡します。 その後、プリンターはその正確な用紙サイズを使用してジョブを実行します。
このガイドでは、標準的な用紙サイズの設定、印刷設定との組み合わせ、非同期印刷について、すべて動作するC#コードとともに解説します。
クイックスタート: 用紙サイズを設定
- NuGetを使ってIronPrintをインストールする:
Install-Package IronPrint - ファイルに
using IronPrint;を追加する PrintSettingsオブジェクトを作成するPaperSize列挙型から任意の値に設定する (例えば、PaperSize.A4)- 設定を
Printer.PrintAsync()に渡す
最小限のワークフロー(5ステップ)
- IronPrint C#印刷ライブラリをインストール
PrintSettingsオブジェクトを作成PaperSizeをPaperSize列挙型から設定する- 設定を
Printer.Print()に渡す - 選択した用紙サイズで印刷を行うためにプロジェクトを実行する
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)
まず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)
明確さのために、オブジェクト初期化子構文を使用します。 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
このクラスベースの例では、DocumentPrinterサービスが印刷ロジックをラップする現実的なパターンを示します。 契約や法的提出の標準フォーマットであるPaperSize.Legal (8.5 × 14インチ) を設定します。 awaitキーワードは、IronPrintが印刷ジョブを処理している間、呼び出しスレッドがレスポンシブであり続けることを保証します。
このメソッドをボタンのクリックハンドラー、バックグラウンドサービス、またはawaitをサポートする任意の場所から呼び出すことができます。 IronPrintの非同期メソッド—PrintAsyncやShowPrintDialogAsyncを含む—は同じPrintSettings構成を受け入れるため、同期および非同期パス間での用紙サイズの挙動は同一です。
次のステップは何ですか?
IronPrintのPaperSize列挙型を使用してC#で用紙サイズを設定する方法を、基本的な単一プロパティの設定から、複合設定および非同期印刷に至るまで解説しました。 PrintSettingsクラスは、用紙寸法に関する推測を排除するクリーンで強く型付けされたAPIを提供します。
IronPrintの機能をさらに探るために:
- プリンター名、トレイ、グレースケールを含むすべての印刷設定を構成する方法を学ぶ
- 一般的なシナリオに対する動作する印刷設定のコード例を参照する
PaperSizeのようなクラスのための完全なAPIリファレンスを閲覧する
30日間の無料トライアルを開始して、あなた自身のプロジェクトで用紙サイズの設定をテストする。または、ライセンスオプションを表示して本番環境配備用のライセンスを確認する。

