Comment utiliser les options de rendu dans IronPDF avec C

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

Les options de rendu d' IronPDF personnalisent la génération de PDF via la classe ChromePdfRenderer, contrôlant des paramètres tels que les marges, les en-têtes, les pieds de page, le format du papier, l'exécution JavaScript et les types de médias CSS pour créer des documents PDF précisément formatés à partir de HTML, CSS et d'autres sources de contenu.

Démarrage rapide : Appliquer les options de rendu en C#

  1. Installer IronPDF via le Package Manager NuGet
  2. Créez une instance ChromePdfRenderer
  3. Configurez les options de rendu via la propriété RenderingOptions
  4. Transformez votre contenu (HTML, Markdown, etc.) en PDF
  5. Enregistrer le document PDF résultant
  1. Installez IronPDF avec le Gestionnaire de Packages NuGet

    PM > Install-Package IronPdf
  2. Copiez et exécutez cet extrait de code.

    new IronPdf.ChromePdfRenderer { RenderingOptions = { PrintHtmlBackgrounds = true, MarginTop = 0, MarginBottom = 0, CssMediaType de texte = IronPdf.Rendering.PdfCssMediaType de texte.Print, HtmlHeader = new IronPdf.HtmlHeaderFooter { HtmlFragment = "<div>My Header</div>" }, Language = "en-US", Timeout = 120000 } }
        .RenderHtmlStringAsPdf("<h1>Hello Options</h1>")
        .SaveAs("renderingOptions.pdf");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit

    arrow pointer

Les options de rendu dans la génération de PDF sont des paramètres qui déterminent la façon dont un document PDF est créé, affiché et imprimé. Ces options comprennent le rendu des éléments de formulaire, l'activation de JavaScript, la génération de tables des matières, l'ajout d'en-têtes et de pieds de page, l'ajustement des marges, la définition de la taille du papier, etc.

La classe ChromePdfRenderer d'IronPDF offre diverses options de rendu permettant de personnaliser la génération de PDF. Il comprend PaperFit, un gestionnaire qui contrôle la mise en page du contenu sur les pages PDF, offrant différents styles tels que des mises en page CSS3 réactives ou un flux continu. Lorsque vous travaillez avec des documents complexes, il se peut que vous deviez fusionner ou diviser des PDF après avoir appliqué des options de rendu.


Comment utiliser les options de rendu dans IronPDF?

Bien que de nombreuses propriétés d'options de rendu soient conçues pour la conversion HTML-PDF, elles fonctionnent également avec d'autres types de conversion PDF. Rendons Markdown en PDF et configurons la sortie à l'aide des options de rendu. Pour les conversions HTML en particulier, découvrez comment convertir des fichiers HTML en PDF ou convertir des chaînes HTML en PDF.

Pourquoi dois-je configurer les options de rendu ?

La configuration des options de rendu permet de s'assurer que les PDF sont générés selon des spécifications précises : formats de papier personnalisés, marges spécifiques, en-têtes et pieds de page, ou activation de JavaScript pour le contenu dynamique. Cette maîtrise est cruciale lors de la création de nouveaux PDF pour des documents ou des rapports professionnels.

Que se passe-t-il lorsque j'applique plusieurs options de rendu?

Plusieurs options de rendu sont utilisées pour créer le fichier PDF final. Chaque option modifie un aspect spécifique du rendu, et IronPDF les applique de manière séquentielle au cours de la conversion. Par exemple, lors de la définition des marges et des en-têtes, le contenu de l'en-tête respecte les paramètres de marge, sauf s'il est remplacé à l'aide de la propriété UseMarginsOnHeaderAndFooter.

:path=/static-assets/pdf/content-code-examples/how-to/rendering-options-render.cs
using IronPdf;

// Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
// to render HTML/CSS as a PDF document.
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Configure rendering options
// Enable printing of HTML backgrounds to ensure all styles are visible.
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

// Set HTML header content using HtmlHeaderFooter.
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    // HTML fragment to add a header at the top of every page in the PDF.
    HtmlFragment = "<h1>Header Content</h1>"
};

// Set a custom paper size for the PDF in millimeters (width and height).
renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150);

// Set the top margin to zero to start the content from the very top of the page.
renderer.RenderingOptions.MarginTop = 0;

// Define a Markdown string that will be rendered as a PDF.
// Markdown text allows basic formatting like bold and italic styles.
string md = "This is some **bold** and *italic* text.";

// Render the Markdown string to a PDF document.
// The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.
PdfDocument pdf = renderer.RenderMarkdownStringAsPdf(md);

// Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf");
$vbLabelText   $csharpLabel

Exemple d'options de rendu avancées

Cet exemple complet démontre la combinaison de plusieurs options de rendu pour la génération de documents professionnels. Cette approche est utile lorsque vous devez ajouter des en-têtes et des pieds de page ou travailler avec des formats de papier personnalisés :

using IronPdf;
using IronPdf.Rendering;

// Create renderer with advanced options
var renderer = new ChromePdfRenderer();

// Configure paper and layout settings
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

// Set margins for professional layout
renderer.RenderingOptions.MarginTop = 40;    // mm
renderer.RenderingOptions.MarginBottom = 40; // mm
renderer.RenderingOptions.MarginLeft = 20;   // mm
renderer.RenderingOptions.MarginRight = 20;  // mm

// Enable JavaScript for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 2000; // Wait 2 seconds for JS to execute

// Add professional header with page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    Height = 25,
    HtmlFragment = @"<div style='text-align: center; padding: 10px;'>
                     <span>Document Title</span> - Page {page} of {total-pages}
                     </div>",
    DrawDividerLine = true
};

// Add footer with timestamp
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    Height = 20,
    HtmlFragment = @"<div style='text-align: center; font-size: 10px;'>
                     Generated on {date} at {time}
                     </div>"
};

// Render HTML content
string htmlContent = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; }
        .content { padding: 20px; }
    </style>
</head>
<body>
    <div class='content'>
        <h1>Professional Document</h1>
        <p>This document demonstrates advanced rendering options.</p>
    </div>
</body>
</html>";

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("professional-document.pdf");
using IronPdf;
using IronPdf.Rendering;

// Create renderer with advanced options
var renderer = new ChromePdfRenderer();

// Configure paper and layout settings
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

// Set margins for professional layout
renderer.RenderingOptions.MarginTop = 40;    // mm
renderer.RenderingOptions.MarginBottom = 40; // mm
renderer.RenderingOptions.MarginLeft = 20;   // mm
renderer.RenderingOptions.MarginRight = 20;  // mm

// Enable JavaScript for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 2000; // Wait 2 seconds for JS to execute

// Add professional header with page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    Height = 25,
    HtmlFragment = @"<div style='text-align: center; padding: 10px;'>
                     <span>Document Title</span> - Page {page} of {total-pages}
                     </div>",
    DrawDividerLine = true
};

// Add footer with timestamp
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    Height = 20,
    HtmlFragment = @"<div style='text-align: center; font-size: 10px;'>
                     Generated on {date} at {time}
                     </div>"
};

// Render HTML content
string htmlContent = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; }
        .content { padding: 20px; }
    </style>
</head>
<body>
    <div class='content'>
        <h1>Professional Document</h1>
        <p>This document demonstrates advanced rendering options.</p>
    </div>
</body>
</html>";

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("professional-document.pdf");
$vbLabelText   $csharpLabel

Quelles sont les options de rendu disponibles ?

Les options avancées définissent les paramètres de rendu PDF tels que les marges, l'orientation du papier, le format du papier, etc. La compréhension de ces options est utile lorsque vous devez définir des marges personnalisées ou travailler avec différents paramètres d'affichage et niveaux de zoom.

Quelles sont les options de rendu les plus couramment utilisées ?

Les options de rendu les plus couramment utilisées sont les paramètres de marge, la configuration de la taille du papier, la configuration de l'en-tête/du pied de page et l'activation de JavaScript. Ces options couvrent la plupart des besoins de personnalisation des PDF. Pour le contenu Web, les options de rendu JavaScript garantissent un rendu correct des éléments dynamiques.

Comment choisir les bonnes options de rendu?

Choisissez les options de rendu en fonction de vos besoins : utilisez les paramètres de marge pour les mises en page d'impression, activez JavaScript pour le contenu web dynamique, configurez les en-têtes/pieds de page pour les documents professionnels et ajustez la taille du papier pour des formats de sortie spécifiques. Lorsque vous travaillez avec du contenu web, tenez compte des types de médias CSS pour un rendu optimal.

Quand dois-je utiliser les options de rendu avancées ?

Utilisez les options de rendu avancées pour des fonctions spécialisées telles que l'injection CSS personnalisée, le rendu mathématique LaTeX, la sortie en niveaux de gris, ou lorsque vous travaillez avec des applications web complexes nécessitant une synchronisation spécifique de l'exécution de JavaScript. La classe WaitFor permet de contrôler avec précision les délais de rendu dans le cadre de scénarios complexes.

Travailler avec des éléments de formulaire

Lorsque le langage HTML contient des éléments de formulaire, IronPDF les convertit automatiquement en formulaires PDF interactifs :

using IronPdf;

var renderer = new ChromePdfRenderer();

// Enable PDF form creation from HTML forms
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// HTML with form elements
string formHtml = @"
<html>
<body>
    <form>
        <label>Name: <input type='text' name='name' /></label><br>
        <label>Email: <input type='email' name='email' /></label><br>
        <label>Subscribe: <input type='checkbox' name='subscribe' /></label><br>
        <button type='submit'>Submit</button>
    </form>
</body>
</html>";

PdfDocument pdfWithForms = renderer.RenderHtmlAsPdf(formHtml);
pdfWithForms.SaveAs("interactive-form.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Enable PDF form creation from HTML forms
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// HTML with form elements
string formHtml = @"
<html>
<body>
    <form>
        <label>Name: <input type='text' name='name' /></label><br>
        <label>Email: <input type='email' name='email' /></label><br>
        <label>Subscribe: <input type='checkbox' name='subscribe' /></label><br>
        <button type='submit'>Submit</button>
    </form>
</body>
</html>";

PdfDocument pdfWithForms = renderer.RenderHtmlAsPdf(formHtml);
pdfWithForms.SaveAs("interactive-form.pdf");
$vbLabelText   $csharpLabel

Vous trouverez ci-dessous un tableau illustrant les différentes options disponibles.

Class ChromePdfRenderer
Description Used to define PDF printout options, like paper size, DPI, headers, and footers
Properties / functions Type Description
CustomCookies Dictionar Custom cookies for the HTML render. Cookies do not persist between renders and must be set each time.
PaperFit VirtualPaperLayoutManager A manager for setting up virtual paper layouts, controlling how content will be laid out on PDF "paper" pages. Includes options for Default Chrome Behavior, Zoomed, Responsive CSS3 Layouts, Scale-To-Page & Continuous Feed style PDF page setups.
UseMarginsOnHeaderAndFooter UseMargins Use margin values from the main document when rendering headers and footers.
CreatePdfFormsFromHtml bool Turns all HTML form elements into editable PDF forms. Default value is true.
CssMediaType PdfCssMediaType Enables Media="screen" CSS Styles and StyleSheets. Default value is PdfCssMediaType.Screen.
CustomCssUrl string Allows a custom CSS style-sheet to be applied to HTML before rendering. May be a local file path or a remote URL. Only applicable when rendering HTML to PDF.
EnableJavaScript bool Enables JavaScript and JSON to be executed before the page is rendered. Ideal for printing from Ajax / Angular Applications. Default value is false.
EnableMathematicalLaTex bool Enables rendering of Mathematical LaTeX Elements.
Javascript string A custom JavaScript string to be executed after all HTML has loaded but before PDF rendering.
JavascriptMessageListener StringDelegate A method callback to be invoked whenever a browser JavaScript console message becomes available.
FirstPageNumber int First page number to be used in PDF Headers and Footers. Default value is 1.
TableOfContents TableOfContentsTypes Generates a table of contents at the location in the HTML document where an element is found with id "ironpdf-toc".
GrayScale bool Outputs a black-and-white PDF. Default value is false.
TextHeader ITextHeaderFooter Sets the footer content for every PDF page as text, supporting 'mail-merge' and automatically turning URLs into hyperlinks.
TextFooter
HtmlHeader HtmlHeaderFooter Sets the header content for every PDF page as HTML. Supports 'mail-merge'.
HtmlFooter
InputEncoding Encoding The input character encoding as a string. Default value is Encoding.UTF8.
MarginTop double Top PDF "paper" margin in millimeters. Set to zero for border-less and commercial printing applications. Default value is 25.
MarginRight double Right PDF "paper" margin in millimeters. Set to zero for border-less and commercial printing applications. Default value is 25.
MarginBottom double Bottom PDF "paper" margin in millimeters. Set to zero for border-less and commercial printing applications. Default value is 25.
MarginLeft double Left PDF "paper" margin in millimeters. Set to zero for border-less and commercial printing applications. Default value is 25.
PaperOrientation PdfPaperOrientation The PDF paper orientation, such as Portrait or Landscape. Default value is Portrait.
PaperSize PdfPaperSize Sets the paper size
SetCustomPaperSizeinCentimeters double Sets the paper size in centimeters.
SetCustomPaperSizeInInches Sets the paper size in inches.
SetCustomPaperSizeinMilimeters Sets the paper size in millimeters.
SetCustomPaperSizeinPixelsOrPoints Sets the paper size in screen pixels or printer points.
PrintHtmlBackgrounds Boolean Indicates whether to print background colors and images from HTML. Default value is true.
RequestContext RequestContexts Request context for this render, determining isolation of certain resources such as cookies.
Timeout Integer Render timeout in seconds. Default value is 60.
Title String PDF Document Name and Title metadata, useful for mail-merge and automatic file naming in the IronPdf MVC and Razor extensions.
ForcePaperSize Boolean Force page sizes to be exactly what is specified via IronPdf.ChromePdfRenderOptions.PaperSize by resizing the page after generating a PDF from HTML. Helps correct small errors in page size when rendering HTML to PDF.
WaitFor WaitFor A wrapper object that holds configuration for wait-for mechanism for users to wait for certain events before rendering. By default, it will wait for nothing.

Prêt à explorer d'autres possibilités ? Visitez notre page de tutoriels : Convertir les PDF

Questions Fréquemment Posées

Quelles sont les options de rendu dans la génération de PDF ?

Les options de rendu dans IronPDF sont des paramètres qui contrôlent la façon dont les documents PDF sont créés, affichés et imprimés par l'intermédiaire de la classe ChromePdfRenderer. Elles comprennent des configurations pour les marges, les en-têtes, les pieds de page, la taille du papier, l'exécution JavaScript, les types de médias CSS, les éléments de formulaire et les tables des matières, ce qui permet une personnalisation précise de la sortie PDF à partir de HTML, CSS et d'autres sources de contenu.

Comment appliquer des options de rendu à un PDF ?

Pour appliquer les options de rendu dans IronPDF : 1) Installez IronPDF via NuGet, 2) Créez une instance de ChromePdfRenderer, 3) Configurez les paramètres via la propriété RenderingOptions, 4) Rendez votre contenu (HTML, Markdown, etc.) en PDF, et 5) Enregistrez le PDF résultant. Vous pouvez définir plusieurs options sur une seule ligne, telles que les marges, le type de média CSS, les en-têtes et les valeurs de délai d'attente.

Puis-je utiliser les options de rendu avec du contenu non HTML ?

Oui, bien que de nombreuses propriétés d'options de rendu soient conçues pour la conversion de HTML en PDF, elles fonctionnent également avec d'autres types de conversion PDF dans IronPDF. Vous pouvez appliquer des options de rendu lors de la conversion de Markdown en PDF ou dans d'autres formats pris en charge, ce qui vous donne le même niveau de contrôle sur la sortie finale du PDF, quel que soit le type de contenu source.

Qu'est-ce que PaperFit et comment fonctionne-t-il ?

PaperFit est un gestionnaire au sein de la classe IronPDF's ChromePdfRenderer qui contrôle la mise en page du contenu sur les pages PDF. Il propose différents styles de rendu, y compris des mises en page CSS3 réactives ou des options d'alimentation continue, ce qui permet de s'assurer que votre contenu s'adapte correctement aux pages PDF en fonction de vos exigences spécifiques.

Pourquoi dois-je configurer les options de rendu pour mes PDF ?

La configuration des options de rendu dans IronPDF permet de s'assurer que vos PDF sont générés avec les spécifications exactes requises pour les documents professionnels. Il peut s'agir de formats de papier personnalisés, de marges spécifiques, d'en-têtes et de pieds de page, ou de l'activation de JavaScript pour un contenu dynamique. Ce niveau de contrôle est crucial lors de la création de rapports, de factures ou de tout autre document nécessitant un formatage précis.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 17,803,474 | Version : 2026.3 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronPdf
exécuter un échantillon Regardez votre code HTML se transformer en PDF.