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

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

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>
<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");
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");
Imports IronPdf

Dim sanitizedHtml As String = html.Replace("@page", "/* @page */")

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 10
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(sanitizedHtml)
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel
Curtis Chau
テクニカルライター

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

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

準備はできましたか?
Nuget ダウンロード 20,088,359 | バージョン: 2026.7 リリースされたばかり
Still Scrolling Icon

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

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