IronPrint ハウツー PDFを平坦化 C#でpdf 印刷前にPDFをフラット化する方法 カーティス・チャウ 更新日:2026年3月2日 IronPrint をダウンロード NuGet ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English IronPrintのPrintSettingsクラスには、すべてのインタラクティブフォームフィールド、注釈、および画像レイヤーを印刷時に静的コンテンツにマージするPrintSettingsオブジェクトに設定すると、IronPrintが残りを処理します — 別のPDF操作ライブラリや中間ファイルの保存は不要です。 このガイドでは、印刷前にPDFを平坦化するタイミングと方法を、同期設定、結合設定、非同期ワークフロー用のC#コードで説明します。 クイックスタート: 印刷前にPDFをフラット化 NuGetを通じてIronPrintをインストール: Install-Package IronPrint ファイルにusing IronPrint;を追加 PrintSettingsオブジェクトを作成 trueに設定 設定をPrinter.PrintAsync()に渡す IronPrint をNuGetパッケージマネージャでインストール PM > Install-Package IronPrint このコード スニペットをコピーして実行します。 using IronPrint; // Flatten and print a PDF with form fields Printer.Print("form-document.pdf", new PrintSettings { Flatten = true }); 実際の環境でテストするためにデプロイする 今日プロジェクトで IronPrint を使い始めましょう無料トライアル Free 30 Day Trial ### 最小限のワークフロー(5ステップ) IronPrint C#印刷ライブラリをインストール `PrintSettings`オブジェクトを作成 `Flatten`を`true`に設定 設定を`Printer.Print()`に渡す 印刷された出力に平坦化されたフォームフィールドが含まれていることを確認 C#で印刷前にPDFをどうやってフラット化しますか? 印刷時にFlattenプロパティをPrintSettingsオブジェクトでPDFを平坦化します。 そのオブジェクトをIronPrintの印刷メソッドに渡します。 :path=/static-assets/print/content-code-examples/how-to/flatten-pdfs/flatten-pdfs-flatten-basic.cs using IronPrint; // Configure print settings with flattening enabled PrintSettings settings = new PrintSettings(); settings.Flatten = true; // Send the flattened document to the default printer Printer.Print("application-form.pdf", settings); Imports IronPrint ' Configure print settings with flattening enabled Dim settings As New PrintSettings() settings.Flatten = True ' Send the flattened document to the default printer Printer.Print("application-form.pdf", settings) $vbLabelText $csharpLabel 最初にFlatten = falseを含むデフォルト値で初期化します。 次にtrueに設定し、すべてのインタラクティブ要素を送信前にページコンテンツにマージするようIronPrintに指示します。 Printer.Printを呼び出すと、プリンタは文書の完全に静的なバージョンを受け取ります。 平坦化は印刷パイプライン中にメモリ内で行われます。元のPDFファイルはディスク上でインタラクティブなままであるため、エンドユーザーはフォームに記入して再提出することができます。 これは重要な区別です: 我々はソースファイルを恒久的に変更するのではなく、プリンター用に平坦化しています。 FlattenプロパティはIronPrint v2024.7.2で導入され、その後のすべてのバージョンで利用可能です。 PDFを印刷する前にいつ平坦化するべきですか? 平坦化は、PDFに紙では正しくレンダリングされない可能性のあるインタラクティブな要素が含まれている場合に最も価値があります。 最も一般的なシナリオは次のとおりです: 記入可能なフォームフィールドを持つPDF: テキスト入力、チェックボックス、ラジオボタン、ドロップダウンメニューは、ページコンテンツに埋め込まれるのではなく、PDFビューアーによってレンダリングされます。 一部のプリンタードライバーはこれらのレイヤーを完全にスキップするため、印刷されたページに空白のフィールドが残ります。 平坦化はフィールド値を静的ページ層に強制します。 注釈やオーバーレイを含むPDF: コメント、付箋、スタンプ、マーキング注釈は別の層に存在します。 平坦化はそれらを目に見えるコンテンツに結合し、印刷された出力に表示されるようにします。 異なるレイヤーに埋め込まれた画像を持つPDF: 複数のソースから組み立てられた文書は異なるz層に画像を持つことがあります。 平坦化はすべてを単一の層に複合化し、画像の欠落やずれを防ぎます。 PDFが静的なテキストと画像のみを含むとき — HTMLから生成されたレポートやスキャンされた文書のように — 平坦化は影響を与えません。 その場合、falseのままにして、余計な処理オーバーヘッドを避けることができます。 他の印刷設定と平坦化をどのように組み合わせますか? Flattenに加えていくつかのプロパティを公開しています。 用紙サイズ、向き、DPI、余白、およびコピー数をフラット化とともに単一の印刷ジョブ内で設定できます。 :path=/static-assets/print/content-code-examples/how-to/flatten-pdfs/flatten-pdfs-combined-settings.cs using IronPrint; // Flatten and print with full configuration PrintSettings settings = new PrintSettings { Flatten = true, PaperSize = PaperSize.A4, PaperOrientation = PaperOrientation.Portrait, Dpi = 300, NumberOfCopies = 2, PaperMargins = new Margins(10, 10, 10, 10), Grayscale = false }; // Print a filled-out insurance claim form Printer.Print("insurance-claim.pdf", settings); Imports IronPrint ' Flatten and print with full configuration Dim settings As New PrintSettings With { .Flatten = True, .PaperSize = PaperSize.A4, .PaperOrientation = PaperOrientation.Portrait, .Dpi = 300, .NumberOfCopies = 2, .PaperMargins = New Margins(10, 10, 10, 10), .Grayscale = False } ' Print a filled-out insurance claim form Printer.Print("insurance-claim.pdf", settings) $vbLabelText $csharpLabel わかりやすくするために、オブジェクト初期化子構文を使用します。 Flatten = trueはすべてのフォームデータが印刷ページに表示されることを保証します。 PaperOrientation.Portraitはビジネスフォームの標準フォーマットに準拠しています。 300のDpiは本来画面解像度でレンダリングされた埋め込みフィールドのテキストをシャープにします。 PaperMarginsはミリメートル単位で4つの値を受け入れます。Marginsコンストラクターを通じて。 これらのプロパティは互いに競合しません。 IronPrintは最初にフラット化操作を適用し、残りの設定に従って得られた静的文書をフォーマットしてから、ジョブをプリンターに送ります。 印刷設定オプション(プリンター選択 や トレー設定を含む)については完全な設定ガイドをご覧ください。 非同期でフラット化して印刷するにはどうすればいいですか? メインスレッドをブロックすることが許されないアプリケーション — 例えばWPFやWinFormsアプリ — ではPrinter.PrintAsyncを使用します。 このメソッドは同じTaskを返します。 :path=/static-assets/print/content-code-examples/how-to/flatten-pdfs/flatten-pdfs-async-flatten.cs using IronPrint; using System.Threading.Tasks; public class FormPrinter { public async Task PrintFlattenedFormAsync(string pdfPath) { // Flatten form fields and print asynchronously PrintSettings settings = new PrintSettings { Flatten = true, PaperSize = PaperSize.Letter, Dpi = 300 }; // Non-blocking print — UI thread stays responsive await Printer.PrintAsync(pdfPath, settings); } } Imports IronPrint Imports System.Threading.Tasks Public Class FormPrinter Public Async Function PrintFlattenedFormAsync(pdfPath As String) As Task ' Flatten form fields and print asynchronously Dim settings As New PrintSettings With { .Flatten = True, .PaperSize = PaperSize.Letter, .Dpi = 300 } ' Non-blocking print — UI thread stays responsive Await Printer.PrintAsync(pdfPath, settings) End Function End Class $vbLabelText $csharpLabel このクラスベースのパターンは印刷ロジックがサービス層にあるときに役立ちます。 US形式のフォームに対してPaperSize.Letterとともに設定します。 awaitキーワードは、IronPrintがフラット化操作を処理し印刷ジョブを送信する間、呼び出しスレッドを解放します。 IronPrintの非同期メソッド — PrintAsync および ShowPrintDialogAsyncを含む — はすべてFlatten設定を同期的な対応物と同様に尊重します。 静かに印刷するか印刷ダイアログで印刷するかに関係なく、平坦化動作は一貫性があります。 次のステップは何ですか? IronPrintのPrintSettings.Flattenプロパティを使用してC#で印刷前にPDFを平坦化する方法を説明しました。 重要なポイント: ソースファイルを変更せずに、印刷時にインタラクティブフォームフィールド、注釈、画像レイヤーを静的コンテンツにマージするためにFlatten = trueを設定します。 これを基にさらに進めるには: 利用可能なすべてのプロパティについて印刷設定構成ガイドを参照 一般的なパターンについて印刷設定コード例を確認 プロパティの詳細とデフォルト値についてPrintSettings APIリファレンスを確認 最新の機能と改善のためにIronPrintの変更履歴を確認 無料の30日間トライアルを開始して、独自の印刷ワークフローでPDFのフラット化をテストするか、本番使用のためのライセンスオプションを表示してください。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 準備はできましたか? Nuget ダウンロード 38,930 | バージョン: 2026.4 リリース 無料トライアル NuGet 無料ダウンロード 総ダウンロード数: 38,930 ライセンスを見る まだスクロールしていますか? すぐに証拠が欲しいですか? PM > Install-Package IronPrint サンプルを実行する プリンターに出力されるドキュメントを見る。 NuGet 無料ダウンロード 総ダウンロード数: 38,930 ライセンスを見る