IRONSOFTWAREHOME

C# でダイアログを使用して印刷する方法

Curtis Chau
Curtis Chau
Updated: 2026年5月9日

IronPrint は、Printer.ShowPrintDialog():ネイティブOSプリントダイアログを開き、ユーザーのプリンタと用紙の選択を取得し、ドキュメントをプリントキューに送信するメソッドを提供します。 1つのNuGetパッケージをインストールし、1行のコードを書きます。

印刷ダイアログは、ユーザーがプリンターを選び、部数を設定し、ページ範囲を選び、印刷にコミットする前に用紙オプションを調整できる標準的なOSウィンドウです。 各ジョブの前にユーザーにこのコントロールを提供する必要があるデスクトップアプリケーションが主な使用例です。

クイックスタート: ダイアログを使用して印刷
  1. 1Install IronPrint with NuGet Package Manager

    PM > Install-Package IronPrint

  2. 2このコード スニペットをコピーして実行します。

    using IronPrint;
    
    // Display the print dialog and print the document
    Printer.ShowPrintDialog("document.pdf");
    C#
  3. 3実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPrint を使い始めましょう無料トライアル
    arrow pointer

C# で印刷ダイアログはどのように動作するか?

Printer.ShowPrintDialog() メソッドは、オペレーティングシステムのネイティブプリントダイアログを開きます。 ユーザーは印刷オプションの全セットを見ます: プリンターの選択、部数、ページ範囲、方向、および用紙サイズ。彼らは印刷をクリックしてジョブを送信するか、印刷せずにダイアログを解除するためにキャンセルをクリックします。

内部では、ネイティブ.NETアプローチは System.Windows.Forms.PrintDialog インスタンスを作成し、それをPrintDocument に接続し、PrintPage イベントを処理して印刷グラフィック面にコンテンツを描画し、DialogResult をチェックし、そして PrintDocument.Print() を呼び出します。 そのセットアップは通常15〜25行のコードを要します。 また、標準搭載のPDFや画像のレンダリングを含みません(ネイティブダイアログを通じてPDFを印刷するには、最初にPDFを描画可能なページに解析する必要があり、さらに別のライブラリが必要です)。

IronPrint は、ワンコールで全てのパイプラインを処理します:

入力

ShowPrintDialog に渡された quarterly-report.pdf は、KPIメトリックカードおよび部門収入表を含むスタイル付きの企業Q3財務要約であり、プリントダイアログに送信される典型的なビジネスドキュメントを表しています。

using IronPrint;

// Open the print dialog and print
Printer.ShowPrintDialog("quarterly-report.pdf");

出力

ShowPrintDialogによって開かれたネイティブ印刷ダイアログ

ShowPrintDialogによって開かれた四半期報告書用のネイティブ印刷ダイアログ。

このメソッドはファイルパスを string として、または生のファイルデータを byte[] として受け入れます。 IronPrint はドキュメント形式を検出し、適切なエンジンを通してレンダリングし、ダイアログを表示します。 ユーザーが確認すると、ドキュメントは選択された設定で印刷されます。 印刷ドキュメントチュートリアル は、印刷ライフサイクル全体を詳しく説明します。

ダイアログ設定を事前に構成する方法は?

ダイアログが開く前に既定値を設定するために、PrintSettings オブジェクトを作成し、それを2番目のパラメータとして渡してください。 これにより、ダイアログはこれらの値を事前選択して開き、ユーザーはそのまま受け入れるか、任意の設定を上書きできます。

入力

invoice.pdfはA4縦設定で300 DPIで事前に読み込まれており、ラインアイテム、割引、税金、および電信送金指示を含むプロフェッショナルな請求書で、アプリケーションが必要な用紙サイズと方向を既に把握している現実的な文書を示しています。

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);

出力

事前設定された設定を持つWindows印刷ダイアログ

事前に設定されたA4縦設定で開かれたネイティブ印刷ダイアログ。

これは、アプリケーションが事前に可能性の高いプリンターまたは用紙形式を知っている場合に役立ちます。 例えば、特定のサーマルプリンタで常に領収書を印刷するPOSシステムでは、PrinterName をそのデバイスにデフォルト設定できます。ユーザーはダイアログでそれを変更するオプションがあります。

システム上で使用可能なプリンタを発見するために、Printer.GetPrinterNames() を呼び出し、それがすべてのインストール済みプリンタの List<string> を返します。 同様に、Printer.GetPrinterTrays() は指定されたプリンタの使用可能な用紙トレイを返します。

設定可能なプロパティの完全なリストには Flatten (PDFフォームフィールド用)および Tray が含まれます。 印刷設定の操作方法 では、各プロパティをコード例とともに説明しています。 PrintSettings に設定されていないプロパティは、選択されたプリンタの標準構成にデフォルト設定されます。

ダイアログを非同期で表示するにはどのようにするか?

Printer.ShowPrintDialogAsync() メソッドは Task を返すため、await と互換性があります。 これにより、UIスレッドがブロックされるのを防ぎ、WPF、MAUI、およびインターフェースが凍結することが悪いユーザー体験をもたらすアプリケーションに不可欠です。

入力

報告書.pdf非同期待機中: 複数のセクションがあるITインフラとセキュリティレポートを待機し、長文ドキュメントの一例です。非ブロッキングダイアログの表示は、ファイルの読み込み中にUIを応答性を持たせます。

using IronPrint;

// Open the print dialog asynchronously
await Printer.ShowPrintDialogAsync("report.pdf");

出力

ShowPrintDialogAsyncで開かれた非同期印刷ダイアログ

ShowPrintDialogAsyncで非同期に開かれたネイティブ印刷ダイアログ。

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[] に読み込まれており、データベースから取得またはメモリ内で生成され、ダイアログに送信される前に文書を表します。

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);

出力

上記の例で見たようにダイアログが開きます。 形式の検出は自動です:ファイルパスを渡しても byte[] を渡しても、IronPrintはドキュメントをレンダリングし、同じネイティブダイアログを表示します。

コード例のページ は、形式に特化したシナリオを示しています。 PDF固有のワークフロー(PDFを生成しすぐに印刷する)に、IronPDFはIronPrintと自然にペアリングされます。

次のステップ

ダイアログ付き印刷は2つのメソッドに要約されます:同期呼び出し用の Printer.ShowPrintDialog() と非ブロッキング実行の Printer.ShowPrintDialogAsync()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は、さまざまなプリンター設定を構成することができ、さまざまなプリンターとの互換性を確保し、特定の印刷ニーズに合わせてカスタマイズできます。

Curtis Chau
テクニカルライター

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

...
詳しく読む

準備はできましたか?

Nuget Downloads 46,090バージョン:2026.9リリースされたばかり

あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPrint
nuget.org/packages/IronPrint/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブロウズを選択し、「IronPrint」を検索します
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

  1. IronPrintをダウンロードし、解凍して、ソリューションディレクトリ内の~/Libsなどの場所に配置します。
  2. Visual Studioのソリューションエクスプローラーで参照を右クリックし、ブロウズから「IronPrint.dll」を選択。

$999からのライセンス

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。