C# でダイアログを使用して印刷する方法
IronPrintはPrinter.ShowPrintDialog()を提供します。これは、ネイティブのOS印刷ダイアログを開き、ユーザーのプリンターおよび用紙の選択情報を取得し、ドキュメントを印刷キューに送信する1つのメソッドです。 1つのNuGetパッケージをインストールし、1行のコードを書きます。
印刷ダイアログは、ユーザーがプリンターを選び、部数を設定し、ページ範囲を選び、印刷にコミットする前に用紙オプションを調整できる標準的なOSウィンドウです。 各ジョブの前にユーザーにこのコントロールを提供する必要があるデスクトップアプリケーションが主な使用例です。
クイックスタート: ダイアログを使用して印刷
最小限のワークフロー(5ステップ)
- IronPrint C#印刷ライブラリをインストール
Printer.ShowPrintDialog("filepath")を呼び出す- ユーザーがプリンター、コピー、およびページ範囲を選択します
- 選択したプリンターにドキュメントを送るために"印刷"をクリックします
- 選択した設定でドキュメントが印刷されることを確認します
C# で印刷ダイアログはどのように動作するか?
Printer.ShowPrintDialog() メソッドは、オペレーティングシステムのネイティブなPRINTダイアログを開きます。 ユーザーは印刷オプションの全セットを見ます: プリンターの選択、部数、ページ範囲、方向、および用紙サイズ。彼らは印刷をクリックしてジョブを送信するか、印刷せずにダイアログを解除するためにキャンセルをクリックします。
内部的には、ネイティブの .NET アプローチでは、System.Windows.Forms.PrintDialogインスタンスを作成し、それをPrintDocument.Print()を呼び出す必要があります。 そのセットアップは通常15〜25行のコードを要します。 また、標準搭載のPDFや画像のレンダリングを含みません(ネイティブダイアログを通じてPDFを印刷するには、最初にPDFを描画可能なページに解析する必要があり、さらに別のライブラリが必要です)。
IronPrint は、ワンコールで全てのパイプラインを処理します:
入力
ShowPrintDialogに渡された quarterly-report.pdf は、KPI メトリックカードや部門別収益表を含む、企業向けの第 3 四半期財務サマリーの書式付き文書であり、印刷ダイアログに送信される典型的なビジネス文書を表しています。
:path=/static-assets/print/content-code-examples/how-to/print-with-dialog/print-with-dialog-show-print-dialog-open-and-print.cs
using IronPrint;
// Open the print dialog and print
Printer.ShowPrintDialog("quarterly-report.pdf");
Imports IronPrint
' Open the print dialog and print
Printer.ShowPrintDialog("quarterly-report.pdf")
出力
このメソッドは、byte[]として生のファイルデータを受け取ります。 IronPrint はドキュメント形式を検出し、適切なエンジンを通してレンダリングし、ダイアログを表示します。 ユーザーが確認すると、ドキュメントは選択された設定で印刷されます。 印刷ドキュメントチュートリアル は、印刷ライフサイクル全体を詳しく説明します。
ダイアログ設定を事前に構成する方法は?
PrintSettings オブジェクトを作成し、それを第2引数として渡すことで、ダイアログが開く前にデフォルト値を設定できます。 これにより、ダイアログはこれらの値を事前選択して開き、ユーザーはそのまま受け入れるか、任意の設定を上書きできます。
入力
invoice.pdfはA4縦設定で300 DPIで事前に読み込まれており、ラインアイテム、割引、税金、および電信送金指示を含むプロフェッショナルな請求書で、アプリケーションが必要な用紙サイズと方向を既に把握している現実的な文書を示しています。
:path=/static-assets/print/content-code-examples/how-to/print-with-dialog/print-with-dialog-preconfigure-dialog-settings.cs
using IronPrint;
// Pre-configure default dialog settings
var settings = new PrintSettings
{
PrinterName = "HP LaserJet Pro",
PaperSize = PaperSize.A4,
PaperOrientation = PaperOrientation.Portrait,
Dpi = 300,
NumberOfCopies = 2,
Grayscale = false
};
// Open the dialog with pre-filled settings
Printer.ShowPrintDialog("invoice.pdf", settings);
Imports IronPrint
' Pre-configure default dialog settings
Dim settings As New PrintSettings With {
.PrinterName = "HP LaserJet Pro",
.PaperSize = PaperSize.A4,
.PaperOrientation = PaperOrientation.Portrait,
.Dpi = 300,
.NumberOfCopies = 2,
.Grayscale = False
}
' Open the dialog with pre-filled settings
Printer.ShowPrintDialog("invoice.pdf", settings)
出力
これは、アプリケーションが事前に可能性の高いプリンターまたは用紙形式を知っている場合に役立ちます。 例えば、特定のサーマルプリンターで常にレシートを印刷するPOSシステムの場合、そのデバイスをデフォルト PrinterName に設定できます。ユーザーはダイアログで設定を変更することも可能です。
システム上で利用可能なプリンターを確認するには、List<string>が返されます。 同様に、Printer.GetPrinterTrays() は、指定されたプリンターで使用可能な用紙トレイを返します。
設定可能なプロパティの完全なリストには、Flatten(PDFフォームフィールド用)、および Tray です。 印刷設定の操作方法 では、各プロパティをコード例とともに説明しています。 PrintSettings で設定されていないプロパティは、選択されたプリンターの標準設定が適用されます。
ダイアログを非同期で表示するにはどのようにするか?
Printer.ShowPrintDialogAsync() メソッドは Task を返すため、await と互換性があります。 これにより、UIスレッドがブロックされるのを防ぎ、WPF、MAUI、およびインターフェースが凍結することが悪いユーザー体験をもたらすアプリケーションに不可欠です。
入力
報告書.pdf非同期待機中: 複数のセクションがあるITインフラとセキュリティレポートを待機し、長文ドキュメントの一例です。非ブロッキングダイアログの表示は、ファイルの読み込み中にUIを応答性を持たせます。
:path=/static-assets/print/content-code-examples/how-to/print-with-dialog/print-with-dialog-show-print-dialog-async.cs
using IronPrint;
// Open the print dialog asynchronously
await Printer.ShowPrintDialogAsync("report.pdf");
Imports IronPrint
' Open the print dialog asynchronously
Await Printer.ShowPrintDialogAsync("report.pdf")
出力
ShowPrintDialogAsync() は、同期版と同じパラメータを受け付けます。つまり、ファイルパスまたはバイト配列に加え、オプションで PrintSettings オブジェクトを指定できます。 非同期パターンは現代 for .NET開発全体で使われる タスクベースの非同期パターン に従います。
IronPrint は WinForms、WPF、MAUI、およびコンソールアプリケーション全体で動作します。 ダイアログの外観はホストプラットフォームとOSバージョンに適応し、ユーザーは常に期待されるネイティブ印刷ウィンドウを見ます。
ダイアログを使用する場合とサイレント印刷する場合
ユーザーがジョブごとにプリンタ設定を選ぶ必要がある場合にダイアログを使用します; 自動化されたワークフローには、人間の判断が不要な場所でサイレント印刷を使用します。
| 基準 | ダイアログで印刷 | サイレント印刷 |
|---|---|---|
| ユーザーの操作 | ユーザーがプリンター、コピー、ページ範囲を選択 | インタラクションなし; prints immediately |
| 最適な用途 | デスクトップアプリ、一度きりの印刷、ユーザー向け機能 | バッチジョブ、バックグラウンドサービス、キオスクアプリ |
| プリンタの選択 | ユーザーがダイアログから選択 | PrintSettings を使用してプログラムで設定 |
| IronPrint メソッド | Printer.ShowPrintDialog() |
Printer.Print() |
| 非同期バリアント | ShowPrintDialogAsync() |
PrintAsync() |
レポートのエクスポート、請求書の印刷、および誤ったプリンターが資材を無駄にするジョブは、ダイアログの良い候補です。 サイレント印刷は、ドキュメント間で人間の判断が不要な自動化されたワークフローに適しています。
印刷ダイアログはどのファイル形式をサポートしていますか?
Printer.ShowPrintDialog() は、サイレント印刷と同じ形式(PDF、PNG、TIFF、JPEG、GIF、HTML、BMP)をサポートしています。形式に関係なくファイルパスを渡すと、IronPrint がレンダリングとプリントスプーラーとの通信を処理します。 byte[] 形式でのファイルデータの指定も可能です。これは、ドキュメントがメモリ上で生成されたり、データベースから取得されたりする場合に便利です。
入力
monthly-report.PDF が byte[] として読み込まれます。これは、ダイアログに送信される前にデータベースから取得された、またはメモリ内で生成されたドキュメントを表します。
:path=/static-assets/print/content-code-examples/how-to/print-with-dialog/print-with-dialog-print-dialog-image-and-byte-array.cs
using IronPrint;
// Print an image with the dialog
Printer.ShowPrintDialog("product-photo.png");
// Print from a byte array
byte[] reportData = File.ReadAllBytes("monthly-report.pdf");
Printer.ShowPrintDialog(reportData);
Imports IronPrint
' Print an image with the dialog
Printer.ShowPrintDialog("product-photo.png")
' Print from a byte array
Dim reportData As Byte() = File.ReadAllBytes("monthly-report.pdf")
Printer.ShowPrintDialog(reportData)
出力
上記の例で見たようにダイアログが開きます。 フォーマットの検出は自動的に行われます。ファイルパスを指定しても、byte[]を指定しても、IronPrintはドキュメントをレンダリングし、同じネイティブダイアログを表示します。
コード例のページ は、形式に特化したシナリオを示しています。 PDF固有のワークフロー(PDFを生成しすぐに印刷する)に、IronPDFはIronPrintと自然にペアリングされます。
次のステップ
ダイアログを使用したPRINTには、同期呼び出し用の Printer.ShowPrintDialog() と、ノンブロッキング実行用の Printer.ShowPrintDialogAsync() の2つの方法があります。 PrintSettings を使用してデフォルト値を事前設定し、ユーザーにそこから調整できるようにしてください。 どちらの方法も IronPrint のドキュメント形式のすべてをサポートし、WinForms、WPF、MAUI、コンソールプロジェクト全体で動作します。
IronPrint チュートリアルでは、フルウォークスルー、Printer クラス API リファレンス では利用可能なすべてのメソッド、または印刷設定の操作方法 で高度な設定を調査してください。 チェンジログ は最近の改善や新しい特徴を追跡します。
無料で30日間のトライアルを始めると、ダイアログ印刷を実際のプロジェクトでテストできます。クレジットカードは必要ありません。 リリース準備が整いましたら、$999 から始まるライセンスオプションをご確認ください。
よくある質問
IronPrintの主な機能は何ですか?
IronPrintは、C#アプリケーション内で印刷ダイアログを表示し設定するためのもので、PDFや画像を事前設定で簡単に印刷できるようにします。
IronPrintを使用して印刷ダイアログを表示する方法はありますか?
C#アプリケーションでIronPrintのShowPrintDialog()メソッドを使用することで、インタラクティブに印刷設定を構成する方法で印刷ダイアログを表示できます。
IronPrintは非同期印刷をサポートしていますか?
はい、IronPrintは非同期印刷をサポートしており、印刷ジョブを処理しながらアプリケーションが応答性を保つことができます。
IronPrintで印刷設定を事前設定することは可能ですか?
はい、IronPrintを使用すると、印刷ダイアログを表示する前に、用紙サイズ、方向、プリンター選択などの印刷設定を事前に構成できます。
IronPrintを使用して画像を印刷することは可能ですか?
IronPrintはPDFと画像の印刷をサポートしており、C#アプリケーションでさまざまな文書タイプに対応する柔軟性を提供します。
IronPrintはC#での印刷ダイアログの体験をどのように向上させますか?
IronPrintは、開発者が印刷設定を簡単にカスタマイズおよび構成できるようにすることで印刷ダイアログの体験を向上させ、同期および非同期操作をサポートします。
IronPrintでどのような種類の文書を印刷できますか?
IronPrintを使用すると、C#アプリケーションからPDFや画像を含むさまざまな文書を直接印刷することができます。
IronPrintを既存のC#アプリケーションに統合することは可能ですか?
はい、IronPrintは既存のC#アプリケーションに簡単に統合でき、印刷ダイアログ機能を追加する簡単な方法を提供します。
C#開発者にとってIronPrintにはどのような利点がありますか?
IronPrintは、簡単な統合、カスタマイズ可能な印刷設定、非同期印刷サポート、PDFおよび画像の印刷能力などの利点を提供します。
IronPrintは異なるプリンター構成をどのように処理しますか?
IronPrintは、さまざまなプリンター設定を構成することができ、さまざまなプリンターとの互換性を確保し、特定の印刷ニーズに合わせてカスタマイズできます。




