Chrome PDFレンダリングエンジン

チャクニット・ビン
チャクニット・ビン
2023年1月25日
更新済み 2025年2月5日
共有:
This article was translated from English: Does it need improvement?
Translated
View the article in English

ChromeのPDFレンダリングエンジンを使用して、高品質なPDFレンダーを作成しましょう!

Chromiumは、Googleによって開発および維持されているオープンソースのウェブブラウザプロジェクトです。 それはGoogle Chrome、Microsoft Edge、Operaなど、いくつかの人気のあるウェブブラウザの基盤となっています。


十分にテストされた高品質の改善

高品質レンダリング

最新の「Blink!」HTMLレンダリング。 Chrome と同じレンダリング または拡張レンダリングから選択できます(Chrome よりも正確でコードが簡単だと当社は考えています)。

レンダリングを20%高速化

複数のCPUコアを自由に使用して、スレッド数や非同期処理を簡単に提供します。 SAAS や高負荷のアプリケーションでは、これが 5~20 倍高速 な場合があり、直接ブラウザーを使用したり、Web ドライバーを使用したりするよりも高性能です。

フルサポート

完全な(文字通り完全な)JavaScript、レスポンシブレイアウト、およびCSS3のサポート。

Azure を最優先の存在として。 うまくいきます。

.NET 8、7、6、5、Core、Framework 4.6.2+ の継続的なメンテナンスと完全サポートの改善。

徹底的にテスト済み

このリリースは、1156個のグリーンユニットと統合テスト(赤いテストはなし)を通過しました。 私たちは、このEAPはメインリリースと同様に安定していると信じており、毎日最高の技術者が継続的に改良を行っています。

アクセシビリティのセクション508準拠

PDF(UA)タグ付きPDF標準を使用して、アクセシブルなPDFを生成します。

継続的な改善

ご意見をお聞かせください。 アイデアがある場合や、実行に関してサポートが必要な場合は、support@ironsoftware.com までご連絡ください。


プロジェクトに実装する

1. IronPDFをインストール

まず、プロジェクトに IronPdf という名前のNuGetパッケージマネージャーからIronPDFをインストールする必要があります。

Install-Package IronPdf

2. 新しいAPIを試す

現在お使いのIronPDFのC#およびVB.NET APIは以前のものを壊していません。 それは残ります! しかし、より多くの制御を提供するために、旧スタイルはより良いものに取って代わられています。

たとえば、レンダラーに固有のRenderingOptionsやHttpLoginCredentialsがあります。

:path=/static-assets/pdf/content-code-examples/how-to/ironpdf-2021-chrome-rendering-engine-eap-new-api.cs
using IronPdf;

// Instantiate renderer class
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Apply rendering options
renderer.RenderingOptions.PaperFit.UseFitToPageRendering();
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!</h1>");
// PdfDocument pdf = Renderer.RenderUrlAsPdf("https://www.google.com/");
// PdfDocument pdf = Renderer.RenderHtmlFileAsPdf("example.html");
pdf.SaveAs("google_chrome.pdf");
Imports IronPdf

' Instantiate renderer class
Private renderer As New ChromePdfRenderer()

' Apply rendering options
renderer.RenderingOptions.PaperFit.UseFitToPageRendering()
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

' Render to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello world!</h1>")
' PdfDocument pdf = Renderer.RenderUrlAsPdf("https://www.google.com/");
' PdfDocument pdf = Renderer.RenderHtmlFileAsPdf("example.html");
pdf.SaveAs("google_chrome.pdf")
$vbLabelText   $csharpLabel

3. ピクセルパーフェクトなChromeレンダリングを適用する

この例では、最新のChromeデスクトップブラウザの「PDFに印刷」機能に忠実なピクセルパーフェクトのPDFを作成します。

:path=/static-assets/pdf/content-code-examples/how-to/ironpdf-2021-chrome-rendering-engine-eap-pixel-perfect.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = false;
renderer.RenderingOptions.CreatePdfFormsFromHtml = false;

PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.google.com/");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.PrintHtmlBackgrounds = False
renderer.RenderingOptions.CreatePdfFormsFromHtml = False

Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.google.com/")
$vbLabelText   $csharpLabel

推奨の改善点

いくつかのIron専用の改善を使用することをお勧めします。

  • スクリーンスタイルシートを使用してPDFを印刷します。 それらは開発が煩雑ではなく、既存のウェブアセットにより忠実です。
  • レスポンシブレイアウトのサポート。
  • HTMLフォーム要素からPDFフォームを作成します。
:path=/static-assets/pdf/content-code-examples/how-to/ironpdf-2021-chrome-rendering-engine-eap-recommended.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
renderer.RenderingOptions.ViewPortWidth = 1080;  //pixels

PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.google.com/");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
renderer.RenderingOptions.ViewPortWidth = 1080 'pixels

Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.google.com/")
$vbLabelText   $csharpLabel

マルチスレッドおよび非同期サポート

Chromeレンダリングエンジンのマルチスレッドと非同期サポートは、以前のビルドとは異なるレベルです。

  • エンタープライズクラスのマルチスレッド化には、既存のスレッドでChromePdfRendererを使用すると機能します。 ウェブアプリケーションの場合は、セットアップも不要です。
  • HTMLをPDFにバッチ処理するためには、組み込みの.NET Parallel.ForEach パターンを使用することをお勧めします。
  • 私たちは非同期を愛しており、ChromePdfRenderer.RenderHtmlAsPdfAsyncのようなすべてのレンダリングメソッドの非同期バリアントを提供しています。

次は何ですか?

近日公開予定の機能

  • ウルトラスリムなデプロイメントは、Azure functionsおよびAWS Lambdaに便利です。 私たちは、最小限のディスクフットプリントを実現するためのデプロイメントオプションを提供することを目指しています。
  • モバイルレンダリング対応:iOSおよびAndroidアプリ開発者へのサポート。
  • IEおよびFirefoxのレンダリングオプション。
  • 大規模エンタープライズユーザー向けのマルチサーバー分散レンダリングアーキテクチャ。
  • 幅広いPDF標準をサポートするために再設計された内部PDFドキュメントオブジェクトモデル。 破損したり、不正確にエンコードされたPDFドキュメントを読み取り、自動的に修復することができるようにしたいと考えています。
  • 「{YourIdeaHere}」機能のリクエストやバグ報告は、お客様からのものが優先されます。

    ご提案やご質問がございましたら、お問い合わせください

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。