CSS @page Kurallarını RenderingOptions ile Geçersiz Kılın

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

Bir HTML belgesi bir CSS @page kuralı içerdiğinde, değerleri (sayfa boyutu, yönlendirme ve kenar boşlukları) RenderingOptions üzerinde ayarlanmış karşılık gelen özelliklere öncelik tanır. HTML çelişen @page değerlerini tanımladığında, işleyicide MarginTop, PaperOrientation, PaperSize veya benzer özellikleri ayarlamak etkisizdir.

IronPDF, standart CSS kademeli kurallarını takip eden Chrome motoru ile işler. @page kuralı, tarayıcının render sırasında değerlendirdiği, programatik render ipuçlarının yerine geçen bir belge düzeyinde CSS bildirimidir.

Çözüm

Seçenek 1: HTML'den @page kuralını kaldırın

@page bloğunu yorum satırı yapın veya silin:

<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

Kural yokken, RenderingOptions özellikleri tam etkisini gösterir.

Seçenek 2: @page kuralını programatik olarak etkisiz hale getirin

HTML şablonunu değiştiremiyorsanız, render işleminden önce kodda kuralı etkisiz hale getirin:

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
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 20,088,359 | Sürüm: 2026.7 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.