C#でHTMLをPDFに変換する方法 .NET 8 | IronPDF

How to Debug HTML in Chrome to Create Pixel Perfect PDFs in C

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

IronPDFの開発者として、IronPDFが作成したPDFドキュメントがパーフェクトに見えるだけでなく、顧客が期待する通りに見えることを理解しています。 ピクセルパーフェクトなPDFを作成するには、優れたHTMLテンプレートを開発するか、Web開発者と協力して作成してもらう必要があります。 IronPDFは、Chrome Rendererのおかげで、あなたのHTMLに対してピクセルパーフェクトな形でPDFをレンダリングし、Chromeでの表示と同一に見えるようにするオプションを提供しています。

クイックスタート: IronPDFでピクセルパーフェクトな PDF を作成する

IronPDFの強力なChrome Rendererを使用して、HTMLを簡単にピクセルパーフェクトなPDFに変換します。 このクイックガイドは、HTML5、CSS3、およびJavaScriptへのIronPDFの完全なサポートを活用して、正確で予測可能なPDF出力を実現するのに役立ちます。 ほんの数行のコードで、HTMLコンテンツをChromeで表示される通りにレンダリングし、WebからPDFへのシームレスな移行を保証します。 レイアウトの精度を保ちながら、使いやすさを損なわずに開発者に最適です。

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

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

    var Renderer = new IronPdf.ChromePdfRenderer();
    Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    Renderer.RenderHtmlAsPdf("<html"Your HTML content here</html"").SaveAs("output.pdf");
  3. 実際の環境でテストするためにデプロイする

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

    arrow pointer

IronPDFのChrome Rendererとは?

それはIronPDFを他 for .NET PDFライブラリと区別します

IronPDFはGoogleのChromium Rendererを使用することで、市場で異彩を放ち、Chromeブラウザで見るHTMLがPDFでもまったく同じに見えることを意味します。 このチュートリアルでは、ChromeとIronPDFで適用する必要のあるいくつかの設定を案内します。

明確にするために、多くの競合技術の"HTMLからPDF"への変換がW3C基準に準拠せず、HTML5、CSS3、またはJavaScriptをサポートせず、wkhtmltopdfのような基盤レンダラーを使用しています。

IronPDFと競合他社の比較

<div class="competitors-sectionwrapper-even-1"" <div class="competitorscard"" <p class="competitorsheader""IronPDF</p" <img class="competitorsimage img-popup" src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_ironpdf_p1.webp" alt="IronPDF" data-fullsize="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_ironpdf_p1.webp" " <p class="competitorsdownload-link"" <i class="fas fa-file-pdf""</i". <a href="https://raw.githubusercontent.com/iron-software/iron-nuget-assets/main/IronPDF-Tutorial/Bootstrap_IronPDF.pdf""PDFをダウンロードする</a"。 </p" </div" <div class="competitorscard"" <p class="competitorsheader""バニラクロム</p" <img class="competitorsimage img-popup" src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_chrome_p1.webp" alt="バニラクロム" data-fullsize="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_chrome_p1.webp" " <p class="competitorsdownload-link"" <i class="fas fa-file-pdf""</i". <a href="https://raw.githubusercontent.com/iron-software/iron-nuget-assets/main/IronPDF-Tutorial/Bootstrap_Chrome.pdf""PDFをダウンロードする</a"。 </p" </div" </div" <div class="competitors-sectionwrapper"" <div class="competitorscard"" <p class="competitorsheader""Aspose.PDF</p" <img class="competitorsimage img-popup" src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_aspose_p1.webp" alt="Aspose.PDF" data-fullsize="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_aspose_p1.webp" " <p class="competitorsdownload-link"" <i class="fas fa-file-pdf""</i". <a href="https://raw.githubusercontent.com/iron-software/iron-nuget-assets/main/IronPDF-Tutorial/Bootstrap_Aspose.pdf""PDFをダウンロードする</a"。 </p" </div" <div class="competitorscard"" <p class="competitorsheader""iText</p" <img class="competitorsimage img-popup" src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_itext.webp" alt="iText" data-fullsize="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_itext.webp" " <p class="competitorsdownload-link"" <i class="fas fa-file-pdf""</i". <a href="https://raw.githubusercontent.com/iron-software/iron-nuget-assets/main/IronPDF-Tutorial/Boostrap_iText.pdf""PDFをダウンロードする</a"。 </p" </div" <div class="competitorscard"" <p class="competitorsheader""wkhtmltopdf</p" <img class="competitorsimage img-popup" src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_wkhtmltopdf_p1.webp" alt="wkhtmltopdf" data-fullsize="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_wkhtmltopdf_p1.webp" " <p class="competitorsdownload-link"" <i class="fas fa-file-pdf""</i". <a href="https://github.com/iron-software/iron-nuget-assets/blob/main/IronPDF-Tutorial/Bootstrap_wkhtmltopdf.pdf""PDFをダウンロードする</a"。 </p" </div" </div"

他の製品との比較の完全なリストを見るには、ブログを参照してください。

[pFeatures related to IronPDFと競合他社の比較 機能]|IronPDFのChrome Renderer|Aspose vs IronPDF|iText vs IronPDF

IronPDFの最適化されたChrome RendererはChromeより優れています

IronPDFがChrome自体を超える2つの例。 Chromeで2ページに分割されるボタンとテキストが、IronPDFではそのまま保持されます。

Chromeで切り捨てられたボタンとテキストの例

ボタンが Chrome では切り取られますが、 IronPDFでは切り取られません

Chromeで切り捨てられたテキストの別の例

Chrome ではテキストが切り取られますが、 IronPDFでは切り取られません

HTMLをPDFに変換する理由?

開発者は、既存のWebブランディングに一致する予測可能な結果を提供するため、HTMLをPDFに変換することを好みます。 設計は、十分に文書化された標準化されたHTML、CSS、およびJavaScript技術を使用して実装されます。

  • 出力のレイアウトとデザインがウェブサイトと完全に一致します。
  • Web開発者は絶対的な正確さをもって設計することに集中できます。
  • .NET開発者はレイアウトではなくアプリケーションロジックに集中することができます。 バックエンド開発者は、レイアウトとデザインのタスクをウェブデザイナーに委ねることができます。

1. CSSメディアタイプの印刷または画面を使用するか決定する

IronPDF のレンダラーには、印刷 (デフォルト)画面 の 2 つのメディア レンダリング オプションがあります。 視覚的な並列比較は、このチュートリアルの終わりにある"画面と印刷の例の比較"セクションを参照してください。

  • CssMediaType.Print は、プリンタでの一般的な使用のために HTML を最適化するデフォルトのレンダリング オプションです。 これは、ページの一部の背景画像、アイコン、およびインクを多く使用する要素が異なるレンダリングをされるか省略されることを意味します。 このオプションは、背景画像のないドキュメントに適しており、デフォルトの印刷プレビューです。
  • CssMediaType.Screen は、PDF が Chrome 画面に表示されるのとまったく同じように見えるようにするレンダリング オプションです。 HTMLデバッグ目的で、Chromeブラウザ内で印刷プレビューがIronPDFのように正確に表示されるようにいくつかのオプションを設定する必要があります。
:path=/static-assets/pdf/content-code-examples/tutorials/pixel-perfect-html-to-pdf-1.cs
// Pixel Perfect HTML Formatting Settings
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; // or Screen
$vbLabelText   $csharpLabel

繰り返しテーブルヘッダー

1ページを超えるようなテーブルを含むHTMLがある場合、おそらく各PDFページでテーブルヘッダーを繰り返したいと思うでしょう。

  • この場合、使用できるのは 印刷 CssMediaTypeのみです
  • 画面 を使用すると、Chrome はヘッダーを 1 回だけ印刷するように指示されます。

画面と印刷の例の比較

印刷モードでは読み込まれない画像やアイコンが、画面モードでは読み込まれることがあります:

印刷例1 画面1の例

2. Chromeをセットアップする

IronPDFはChrome Rendering Engineを誇らしげに利用しています。IronPDFがあなたのHTMLをChromeと同様にレンダリングするために次の手順に従ってください。 この結果を得るためにChrome内で事前に行う必要があるいくつかのステップがあります。

通常、印刷形式では省略されるすべての画像、アイコン、背景を含む Pixel Perfect PDF をレンダリングするには、必ず 画面 CSS メディア オプションを使用してください。

2a. DevToolsを開き、ChromeでCSSメディアのエミュレートを画面/印刷に設定する

  1. これを行うために、Chrome内で DevToolsを開く

    Chrome で Inspect を使用する

  2. コマンドメニューを開くには、Command+Shift+P (Mac)またはControl+Shift+P (Windows、Linux、ChromeOS)を押してください。 レンダリングと入力を開始し、"Show Rendering"を選択し、Enterキーを押します。 DevToolsウィンドウの下部にレンダリングタブが表示されます。 詳細なヘルプ

<img src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/find_emulate_css_type.gif" alt=""レンダリングを表示"に移動し、CSS メディア タイプを検索します""

  1. 下に移動して Emulate CSS media のドロップダウンを見つけ、オプション 画面 または 印刷 を選択します。 ウェブページにいる場合、設定が有効になるために(Ctrl+Rで)再読み込みする必要があるかもしれません。

<div class="competitors-sectionwrapper-even-1"" <div class="competitorscard" style="width: 48%;"" <img src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/view_css_print.gif" alt="Switch to CSS Media Type 印刷" class="img-responsive add-shadow" style="margin-bottom: 30px;"" <p class="competitorsdownload-link" style="color: #181818; font-style: italic;"" 印刷 </p" </div" <div class="competitorscard" style="width: 48%;"" <img src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/view_css_screen.gif" alt="Switch to CSS Media Type 画面" class="img-responsive add-shadow" style="margin-bottom: 30px;"" <p class="competitors__download-link" style="color: #181818; font-style: italic;"" 画面 </p" </div" </div"

2b. 印刷プレビューウィンドウを開く(WindowsではCtrl+P)

正確な表示を得るために、Chrome の印刷ダイアログで用紙サイズを変更し、"背景画像の印刷"を有効にする必要があります。

2c. 正しい印刷プレビューの設定を行う

  • IronPDFプロジェクトで使用している用紙サイズ (A4Letter など) を選択してください。
  • Margins ドロップダウンで Custom を選択し、4 辺すべてを 1 インチの余白 (1") に設定します。
  • Background Graphics チェックボックスを有効にします。
  • 横向きのドキュメントを出力する場合は、必ず LayoutLandscape に設定してください。

以上です。 これでHTMLをデバッグし、印刷プレビューを使用してIronPDFがあなたのレイアウトをどのようにレンダリングするか正確に確認できます。

3. IronPDFのセットアップ

3a. IronPDFでCSSメディアタイプを設定する

ウェブページデザインを100%の精度で一致させるためには、コード内でChromeに設定したのと同じCSSメディアタイプを選ばなければなりません。

PdfCssMediaType.Screen には背景や、インクを節約するためにプリンター向けに設計されたデフォルトの PdfCssMediaType.Print 形式では省略される可能性のある大きな画像が含まれていることに注意してください。

:path=/static-assets/pdf/content-code-examples/tutorials/pixel-perfect-html-to-pdf-2.cs
// Example using PdfCssMediaType.Screen
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen; // or Print
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
$vbLabelText   $csharpLabel

3b. 適切なレンダーディレイとレンダータイムアウトを設定する

IronPDFのデフォルトのレンダリングタイムアウトは60秒です。 これを超えて処理が完了しないものは、レンダリングオプションを編集しない限りレンダリングされません。 デフォルト設定を上書きするには、RenderingOptions.Timeout オプションを調整する必要があります。

タイムアウトが設定されていない場合、または設定されたタイムアウトよりもレンダリング遅延が長い場合は、Unable to Render PDF 例外が発生することに注意してください。 このエラーが発生する場合は、これらの値を増やす必要があるかもしれません。

:path=/static-assets/pdf/content-code-examples/tutorials/pixel-perfect-html-to-pdf-3.cs
// Example of setting Timeout and RenderDelay options
renderer.RenderingOptions.Timeout = 90; // seconds (default is 60)
renderer.RenderingOptions.WaitFor.RenderDelay(30000); // milliseconds
$vbLabelText   $csharpLabel

次に何ができるのかを見てみましょうか? こちらのチュートリアルページをご覧ください: 追加機能

よくある質問

HTMLからピクセルパーフェクトなPDFレンダリングを達成するにはどうすればいいですか?

HTMLからピクセルパーフェクトなPDFレンダリングを達成するには、IronPDFのChrome Rendererを使用することができます。これにより、Chromeブラウザに表示されるHTMLコンテンツが生成されたPDFと完全に一致することが保証されます。

HTMLからPDFへの変換にIronPDFを使用する利点は何ですか?

IronPDFは、HTML5、CSS3、およびJavaScriptをサポートし、他の多くのライブラリとは異なり、WebブラウザでのHTMLコンテンツの視覚的な外観に一致するPDFを開発者が生成できるようにします。

IronPDFでCSSメディアタイプをどのように設定できますか?

IronPDFでCSSメディアタイプを設定するには、背景のないドキュメントには「Print」を選択し、オンスクリーンの外観に一致させるためには「Screen」を選択して、PDF出力がニーズに一致するようにします。

PDFレンダリングのためにChromeを設定するにはどのようなステップを踏むべきですか?

PDFレンダリングのためにChromeを設定するには、DevToolsを開き、「Emulate CSS media」を「Screen/Print」に有効にし、プリントプレビュー設定を調整してPDFが希望のレイアウトに一致するようにします。

IronPDFのレンダリング問題を解決するにはどうすればよいですか?

レンダリングの問題が発生した場合、例えば「PDFをレンダリングできません」という例外が発生した場合は、IronPDFのオプション内でレンダー遅延またはレンダータイムアウト設定を増やすことを試みてください。結果が改善されることがあります。

IronPDFを使用して、ウェブデザインに合ったPDFをレンダリングすることはできますか?

はい、IronPDFはGoogle Chromium Rendererを使用して最新のWebテクノロジーをサポートすることで、ウェブデザインに正確に一致するPDFをレンダリングできるようにします。

なぜIronPDFはGoogle Chromium Rendererを使用しているのですか?

IronPDFは、HTMLがChromeブラウザで表示される内容とPDFで作成される内容が完全に一致することを保証し、一貫性のある高品質な出力を提供するために、Google Chromium Rendererを使用しています。

IronPDF は .NET 10 と互換性がありますか? また、新しい .NET 10 プロジェクトで使用できますか?

はい。IronPDFは.NET 10(および.NET 9、.NET 8以前)を明示的にサポートしており、すぐに使用できます。プロジェクトで.NET 10をターゲットにすれば、特別な回避策を必要とせずに、IronPDFのHTMLからPDFへの変換、レンダリング、編集、署名APIを利用できます。

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

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

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

準備はできましたか?
Nuget ダウンロード 17,803,474 | バージョン: 2026.3 リリース
Still Scrolling Icon

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

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