C#でPDFドキュメントを印刷する方法 | IronPRINT

How to Print PDF Files in C# 14

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

IronPDFは、.NETアプリケーションの自動印刷ワークフローのために、プリンタ設定、解像度(DPI)、ドキュメント処理を正確に制御し、C#開発者が単一のメソッド呼び出しで物理的なプリンタに直接PDFファイルをプログラム印刷することを可能にします。

.NET C#コードからプリンタにPDFを送信することで、印刷プロセスを自動化し、印刷機能をアプリケーションに統合し、手作業を減らし、文書作成の一貫性を確保することができます。 印刷プロセスに対して正確なコントロールを提供します。 この機能は、請求書報告書、またはユーザーの介入なしに物理的なコピーを必要とする文書を生成するアプリケーションにとって不可欠です。

IronPDFは1つのメソッド呼び出しで物理的なプリンタにプログラムで印刷するオプションを提供し、複数のPDFファイルを印刷することができます。 プリンタの解像度は、設定可能な水平および垂直DPIで指定することもできます。 PDF 印刷プロセスをさらに細かく制御するには、Microsoft PrinterSettings および PrintController の両方を指定できるメソッドを使用してください。 印刷に入る前に、あなた for .NETプロジェクトにIronPDFが正しくインストールされていることを確認してください。

クイックスタート: IronPDFを使用して.NETで PDF を印刷する

IronPDFを使ってPDF文書をわずか数行のコードで簡単に印刷できます。 このガイドでは、PDF印刷を.NETアプリケーションにすばやく統合する方法を紹介します。 IronPDFを使えば、最小限のセットアップで、柔軟な設定高品質な出力を楽しみながら、ファイルを直接プリンターに送ることができます。 今すぐ始めて、ドキュメントワークフローを簡素化しましょう。 より高度な印刷シナリオについては、包括的な紙印刷PDFガイドをご覧ください。

  1. IronPDF をNuGetパッケージマネージャでインストール

    PM > Install-Package IronPdf
  2. このコード スニペットをコピーして実行します。

    IronPdf.PdfDocument.FromFile("example.pdf").Print();
  3. 実際の環境でテストするためにデプロイする

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

    arrow pointer


IronPDFを使ってPDFファイルを印刷するには?

Print メソッドは PdfDocument オブジェクトを通じて利用可能であり、新しく作成された PDF ファイルと既存の PDF ファイルの両方を印刷することができます。 デフォルトでは、このメソッドはシステムの既定のプリンターを使用しますが、Print メソッドにプリンター名を文字列として渡すことで、別のプリンターを指定することができます。 この柔軟性により、ドキュメントを動的に生成する場合でも、既存のPDFを扱う場合でも、PDF印刷を既存のワークフローに簡単に統合できます。

ご注意すべての印刷機能は Windows でのみサポートされます。

どのプリンタをターゲットにできますか?

IronPDFはネットワークプリンター、"Microsoft Print to PDF "のような仮想プリンター、USBやネットワーク経由で接続された物理プリンターを含む、Windowsシステムにインストールされたすべてのプリンターへの印刷をサポートします。 ネットワーク プリンタへの印刷については、ネットワーク プリンタ トラブルシューティング ガイドで設定のヒントを確認してください。

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

' Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF")
$vbLabelText   $csharpLabel

PDFを印刷に送るとどうなりますか?

Print メソッドを呼び出すと、IronPDF は PDF ドキュメントを Windows プリントスプーラーに送信します。プリントスプーラーは、選択されたプリンターの印刷キューを管理します。 ドキュメントは、ファイル名、サイズ、ステータスなどの詳細とともに印刷キューに表示されます。 その後、印刷スプーラは、プリンタの機能と現在のキューの位置に応じてドキュメントを処理します。

Windowsの印刷キューで、Microsoft Print to PDFを表示し、キュー内のドキュメントを表示し、ジョブのステータスとファイルの詳細を表示します。

印刷品質と解像度を制御するにはどうすればよいですか?

Print メソッドに希望の DPI 値を指定することで、印刷される PDF の解像度を設定できます。このメソッドは、水平方向と垂直方向の両方に同じ DPI を適用します。 異なるDPI値を使用するには、メソッドに2つのパラメータを渡します。1つ目は水平 (x) DPI用で、2つ目は垂直 (y) DPI用です。 DPI値が高いほど高品質な印刷ができますが、ファイルサイズが大きくなり、処理時間が長くなります。

DPI設定はいつ調整すべきですか?

異なる印刷シナリオには、異なるDPI設定が必要です。 標準的なオフィス文書であれば、150~300DPIで十分な品質が得られます。 高品質のグラフィックや写真を使用する場合は、600DPI以上を使用してください。 ドラフト印刷では、時間とリソースを節約するために72-150 DPIを使用することができます。 デジタル表示専用のPDFを作成する場合は、PDF圧縮ガイドを参照して、ファイルサイズを最適化してください。

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-dpi.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Set custom DPI
pdf.Print(300);

// Specify printing resolution
pdf.Print(10, 10, "Microsoft Print to PDF");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

' Set custom DPI
pdf.Print(300)

' Specify printing resolution
pdf.Print(10, 10, "Microsoft Print to PDF")
$vbLabelText   $csharpLabel

さまざまな印刷タイプに最適なDPI値は?

次の例でPDFファイルをラスタライズして印刷する方法を見てみましょう。 DPIの選択は、特定のニーズによって異なります:

  • テキスト文書: 300 DPIは、鮮明で読みやすいテキストを提供します。

  • 混合コンテンツ(テキストと画像): 300-400 DPIで品質とファイルサイズのバランスをとる。

  • 高画質写真: 600 DPI以上で、画像の細部を保持すること。

  • ドラフトプリント: クイックレビューコピー用150DPI

  • アーカイブ品質: 長期保存のための1200DPI

物理的に印刷せずに PDF を保存するにはどうすればよいですか?

PrintToFile メソッドは、PDF 文書をビットマップ(ピクセルベース)画像に変換し、PDF ファイルとして保存することで、効率的にラスタライズします。この処理は、"Microsoft Print to PDF"などの Windows に組み込まれたプリンターによって行われます。特に、このメソッドでは、物理的なプリンターに送信することなく、PDF をディスクに保存します。 PDFを保存するその他の方法については、PDFのエクスポートと保存に関する総合ガイドをご覧ください。

なぜ通常の保存の代わりにPrintToFileを使用するのですか

PrintToFile は、物理的な出力なしで印刷プロセスをシミュレートする必要がある場合に、独自の利点を提供します。 印刷用ファイルの作成、印刷レイアウトのテスト、または紙に印刷されるものと正確に一致する文書の生成に特に役立ちます。 この方法は、PDFを特定の形式に変換したり、プリンタ固有の変換を適用したりする必要がある場合にも役立ちます。

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print-to-file.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Print to file
pdf.PrintToFile("");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

' Print to file
pdf.PrintToFile("")
$vbLabelText   $csharpLabel

ラスタライズの利点は何ですか?

PrintToFile によるラスタライズには、いくつかの利点があります:

  • 一貫した外観:異なるビューアでPDFが同じように見えるようにします。

  • フォント埋め込み:テキストを画像に変換し、フォントの互換性の問題を解消します。

  • セキュリティ:テキストを選択不可能にし、抽出しにくくする。

  • 印刷プレビュー: ドキュメントが印刷されたときにどのように表示されるかを正確に表示します。

  • ファイルサイズの最適化: 複雑なベクターグラフィックスのファイルサイズを縮小できます。

ディスクに保存せずにメモリ上でPDFを扱う方法については、PDF to MemoryStreamガイドをご覧ください。


プリンタの詳細設定にアクセスするにはどうすればよいですか?

印刷オプションをカスタマイズするには、Microsoft PrinterSettings および PrintController オブジェクトを受け入れる GetPrintDocument メソッドを使用します。 このメソッドは現在の印刷ドキュメントオブジェクトを返します。 PrinterSettings を使用すると、ページ範囲やプリンターの選択などのオプションを設定でき、PrintController を使用すると、例外処理、進行状況の報告、印刷ダイアログ、印刷プレビュー、およびその他の関連タスクを含む印刷プロセスを制御できます。 PrinterSettings オプションの詳細な説明は、コード例の後に記載されています。 カスタム用紙サイズについては、カスタム用紙サイズガイドを参照してください。

どの設定を構成できますか?

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-printer-setting.cs
using IronPdf;
using System.Drawing.Printing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Testing</h1>");

PrinterSettings settings = new PrinterSettings() {
    PrinterName = "Microsoft Print to PDF",

    // Number of Copy
    Copies = 2,

    // Page range to print
    FromPage = 2,
    ToPage = 4,
};

PrintDocument document = pdf.GetPrintDocument(settings);

// Print
document.Print();
Imports IronPdf
Imports System.Drawing.Printing

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Testing</h1>")

Private settings As New PrinterSettings() With {
	.PrinterName = "Microsoft Print to PDF",
	.Copies = 2,
	.FromPage = 2,
	.ToPage = 4
}

Private document As PrintDocument = pdf.GetPrintDocument(settings)

' Print
document.Print()
$vbLabelText   $csharpLabel

各 PrinterSettings プロパティは何を制御しますか?

PrinterSettings プロパティを理解することで、印刷ワークフローを最適化できます:

  • CanDuplex: プリンターが両面印刷に対応しているかどうかを示します。 trueの場合、用紙の両面印刷が可能です; さもなければできません。

  • Collate: 印刷時に、複数のPDFファイルまたはPDFドキュメントのコピーをソート(順序通りに整理)するかどうかを指定します。 true を実行すると、プリンターがコピーを整理します; falseの場合、そうではありません。

  • Copies: 印刷するPDF文書の部数を設定します。 これにより印刷される文書の同一コピーの数が決定されます。

  • DefaultPageSettings: 用紙サイズ、余白、向きなど、プリンターのデフォルトのページ設定を表します。 これは、PDFをさまざまな用紙形式で正しく印刷するために非常に重要です。

  • Duplex: 使用する両面印刷モードを指定します。 オプションには、Duplex.Horizontal、および Duplex.Vertical があります。

  • InstalledPrinters: システムにインストールされているプリンター名のリストを提供します。 利用可能なプリンターの名前を取得するためにこのコレクションを通過することができます。

  • IsDefaultPrinter: PrinterNameで指定されたプリンターが、システム上のデフォルトプリンターとして設定されているかどうかを示します。

  • IsPlotter: プリンターがプロッタであるかどうかを判定します。 プロッタープリンターは大判印刷に使用されることが多く、建築やエンジニアリングの図面に使用されます。

  • IsValid: プリンター設定が有効であり、PDF ファイルの印刷に使用できるかどうかを示します。

  • LandscapeAngle: プリンターの横向き印刷時の角度(回転)を指定します。縦向きの場合は通常90度です。

  • MaximumCopies: PDF印刷時に指定可能な最大部数を表します。

  • MaximumPage: PRINTまたは変換時に設定可能な最大ページ数を指定します。

  • MinimumPage: PRINTまたは変換時に設定可能な最小ページ数を指定します。

  • PaperSizes: プリンターでサポートされている用紙サイズのリストを提供します。 利用可能な用紙サイズを確認するためにこのコレクションを照会できます。

  • PaperSources: プリンターで使用可能な用紙供給源またはトレイのコレクションを提供します。 PDFファイルを印刷するときの用紙ソースを選択する際に便利です。

  • PrinterName: PRINTまたは変換に使用するプリンターの名前を指定します。

  • PrinterResolutions: 利用可能なプリンター解像度のリストを提供し、印刷品質を選択できるようにします。

  • PrintFileName: PrintToFile を使用してファイルに出力する際、ファイル名を取得または設定します。

  • PrintRange: 印刷するPDFページの範囲を指定します。全ページ、特定の範囲、または選択範囲などが指定可能です。 特定のページを印刷するために使用します。

  • FromPage: PRINTまたは変換の開始ページ番号を指定します。 このページから印刷が開始されます。

  • ToPage: PRINTまたは変換の終了ページ数を指定します。 このページに達した後、印刷が停止します。

  • PrintToFile: 物理的なプリンターではなく、ファイルに出力するかどうかを示します。 true を使用する場合、PrintFileName を使用してファイルパスを指定できます。

  • SupportsColor: プリンターがカラー印刷に対応しているかどうかを示します。 trueの場合、カラー印刷がサポートされています; さもなければ、モノクロ印刷(白黒印刷)に限定されます。

デフォルトのプリンターを設定するには?

最後に、PDFを印刷するためにデフォルトのプリンタを設定するには、マシン設定の"プリンタとスキャナ"セクションに移動します。 Windows 10および11では、設定 > デバイス > プリンターとスキャナーに移動し、希望のプリンターの横にある"管理"をクリックし、"デフォルトとして設定"を選択します。 印刷前にゼロからPDFを作成するには、完全なPDF作成チュートリアルをご覧ください。

よくある質問

C# .NETでPDFファイルをプログラムで印刷するには?

IronPDFを使えば、Print()メソッドを呼び出すだけで、プログラムでPDFファイルを印刷することができます。IronPdf.PdfDocument.FromFile("example.pdf").Print()でPDFファイルを読み込むだけで、デフォルトのプリンタにPDFファイルを送ることができます。

PDFを印刷する際、プリンタ設定はどのように制御できますか?

IronPDFは解像度(DPI)を含むプリンター設定を水平、垂直の両方で正確にコントロールすることができます。MicrosoftのPrinterSettingsやPrintControllerを受け入れるメソッドを使用することで、PDFの印刷プロセスを高度に制御することができます。

デフォルトのプリンタではなく、特定のプリンタに印刷できますか?

はい、IronPDFではPrintメソッドに文字列としてプリンタ名を渡すことで、別のプリンタを指定することができます。デフォルトではシステムのデフォルトプリンターを使用しますが、システム上の利用可能なプリンターを簡単にターゲットにすることができます。

複数のPDFファイルを自動的に印刷することは可能ですか?

はい、IronPDFはプログラムで複数のPDFファイルを印刷することをサポートしており、バッチ処理や自動化されたワークフローに最適です。これは特に、請求書やレポート、あるいは物理的なコピーを必要とするドキュメントをユーザーの介入なしに生成するアプリケーションに有用です。

PDF印刷に対応しているプラットフォームは?

IronPDFは.NETアプリケーションに重点を置いていますが、Iron SoftwareはIronPrintも提供しています。IronPrintはWindows、macOS、Android、iOSの各プラットフォームと互換性を持ち、より幅広い印刷機能を提供する印刷専用ライブラリです。

.NETプロジェクトでPDF印刷を始めるには?

まず.NETプロジェクトにIronPDFをインストールし、PdfDocument.FromFile()を使ってPDFファイルを読み込み、Print()メソッドを呼び出すというシンプルなワークフローを使用します。高度な設定のためには、GetPrintDocumentメソッドを使用してより多くの印刷オプションにアクセスしてください。

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

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

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

レビュー済み
Jeff Fritz
Jeffrey T. Fritz
プリンシパルプログラムマネージャー - .NETコミュニティチーム
Jeffはまた、.NETとVisual Studioチームのプリンシパルプログラムマネージャーです。彼は.NET Conf仮想会議シリーズのエグゼクティブプロデューサーであり、週に二回放送される開発者向けライブストリーム『Fritz and Friends』のホストを務め、テクノロジーについて話すことや視聴者と一緒にコードを書くことをしています。Jeffはワークショップ、プレゼンテーション、およびMicrosoft Build、Microsoft Ignite、.NET Conf、Microsoft MVPサミットを含む最大のMicrosoft開発者イベントのコンテンツを企画しています。
準備はできましたか?
Nuget ダウンロード 19,014,616 | バージョン: 2026.5 just released
Still Scrolling Icon

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

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。