HTMLレンダリングのオーバーヘッドと軽量代替手段
PDFにコンテンツが配置される前に、HtmlHeaderFooter、およびHTMLベースの透かしはすべてフルブラウザを通してレンダリングされます。 これにより、正確なレイアウトとスタイリングが得られますが、それを使う前に理解しておくべきコストもあります。
HTMLレンダリングが重い理由
IronPDFが出力のためにHTMLを処理する際は、ヘッダー、フッター、透かし、またはスタンプされたコンテンツに関わらず、内部でヘッドレスChromiumブラウザーインスタンスを生成します。 そのブラウザはHTMLをピクセルパーフェクトで出力し、その後最終的なPDFに統合されます。
このアプローチは、複雑なHTML、CSS、JavaScriptとの互換性を保証します。 また、次の4つのことに影響を与えます:
- パフォーマンスとリソース使用量:ブラウザの立ち上げは、CPUとメモリを消費する重い操作であり、特にスループットが高い場合に影響します。
- スレッドと同時処理:複数の同時レンダー操作がシステムリソースを争い、ボトルネックを生じさせる可能性があります。
- 実行時要件:Chromiumは依存関係を追加し、それがコンテナまたはサンドボックス化されたサーバーのアプリケーション動作を変える可能性があります。
- 出力サイズ:レンダリングされたHTMLは完全なレイアウトとスタイリングを埋め込み、最終的なPDFのサイズを増加させる可能性があります。
代わりにテキストAPIを使用すべき場合
プレーンなヘッダー、フッター、透かしのようなシンプルなテキストベースのコンテンツに対しては、完全なHTMLパイプラインは必要ありません。IronPDFは、ブラウザのステップを完全にスキップする軽量の描画APIを提供します。 これらは高速で動作し、リソースを少なく使い、追加のランタイム依存関係を避けます。
オプション1: DrawText / DrawBitmap
静的なテキストまたは画像をページに直接描画し、HTMLまたはCSSレンダリングを行いません。 HtmlStamperとヘッダー/フッターコンテンツの直接の代替品となっています。
オプション2: TextHeaderFooter
ブラウザを呼び出さずにシンプルなヘッダーとフッターを追加します。 これは、ヘッダーやフッターがスタイル付きレイアウトではなくプレーンテキストである場合に使用します。
オプション3: AddTextStamp
オーバーヘッドを最小限にして透かしを処理します。 TextStamperオブジェクトは、テキストスタイル、フォント、および不透明度のプロパティを公開しており、HTMLベースのスタンプや透かしよりも適合します。

