CSS @page Regeln mit RenderingOptions überschreiben

Curtis Chau
Curtis Chau
Updated: 10. Juni 2026

Wenn ein HTML-Dokument eine CSS @page Regel enthält, haben dessen Werte (Seitengröße, Ausrichtung und Ränder) Vorrang vor den entsprechenden Eigenschaften, die auf RenderingOptions festgelegt sind. Das Setzen von MarginTop, PaperOrientation, PaperSize oder ähnlichen Eigenschaften im Renderer hat keine Wirkung, wenn das HTML widersprüchliche @page Werte definiert.

IronPDF rendert über die Chrome-Engine, die den standardmäßigen CSS-Kaskadenregeln folgt. Die @page Regel ist eine CSS-Deklaration auf Dokumentebene, die vom Browser während des Renderns ausgewertet wird, und überschreibt alle programmatischen Rendering-Hinweise.

Lösung

Option 1: Die @page Regel aus dem HTML entfernen

Kommentieren oder löschen Sie den @page Block:

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

Ohne die Regel haben RenderingOptions Eigenschaften volle Wirkung.

Option 2: Die @page Regel programmatisch neutralisieren

Wenn Sie das HTML-Template nicht ändern können, neutralisieren Sie die Regel im Code vor dem Rendern:

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 hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

Weiterlesen

Bereit anzufangen?

Nuget Downloads 21,739,885Version:2026.10gerade veröffentlicht