RenderingOptionsでCSS @pageルールをオーバーライドする

Curtis Chau
Curtis Chau
Updated: 2026年6月10日

HTMLドキュメントにCSS @page ルールが含まれる場合、その値(ページサイズ、向き、余白)は、RenderingOptions に設定された対応するプロパティよりも優先されます。 HTMLが矛盾する@page 値を定義している場合、レンダラー上でPaperSize、その他類似プロパティを設定しても効果はありません。

IronPDFはChromeエンジンを介してレンダリングし、標準CSSカスケードルールに従います。 @page ルールは、ブラウザがレンダリング中に評価する文書レベルのCSS宣言で、プログラムによるレンダリング指示を上書きします。

解決策

オプション1: HTMLから@pageルールを削除する

@page ブロックをコメントアウトまたは削除してください。

<style>
/*
@page {
    size: A3;
    margin-top: 2in;
    margin-bottom: 2in;
    margin-left: 2in;
    margin-right: 2in;
}
*/
</style>
HTML

ルールがない場合、RenderingOptions プロパティが完全に効果を発揮します。

オプション2: コード内で@pageルールを無効にする

HTMLテンプレートを変更できない場合、レンダリング前にコードでルールを無効にしてください。

string sanitizedHtml = html.Replace("@page", "/* @page */");

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 10;
PdfDocument pdf = renderer.RenderHtmlAsPdf(sanitizedHtml);
pdf.SaveAs("output.pdf");

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

詳しく読む

準備はできましたか?

Nuget Downloads 21,739,885バージョン:2026.10リリースされたばかり