Comment utiliser les options de rendu dans IronPDF avec C
Les options de rendu d'IronPDF permettent de personnaliser la génération de PDF via la classe ChromePdfRenderer, en contrôlant des paramètres tels que les marges, les en-têtes, les pieds de page, le format du papier, l'exécution de JavaScript et les types de médias CSS afin de créer des documents PDF au formatage précis à partir de HTML, CSS et d'autres sources de contenu.
Démarrage rapide : Appliquer les options de rendu en C#
- Installez IronPDF via le Gestionnaire de package NuGet
- Créer une instance
ChromePdfRenderer - Configurer les options de rendu via la propriété
RenderingOptions - Rendre votre contenu (HTML, Markdown, etc.) en PDF
- Enregistrer le document PDF résultant
-
Installez IronPDF avec le Gestionnaire de Packages NuGet
PM > Install-Package IronPdf -
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"); -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit
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 pour personnaliser la génération de PDF. Elle inclut 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 adaptatives 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.
Flux de travail minimal (5 étapes)
- Téléchargez la bibliothèque C# pour utiliser les options de rendu
- Préparer les ressources HTML ou le fichier pour la conversion en PDF
- Instanciez la classe ChromePdfRenderer
- Accédez à la propriété RenderingOptions pour configurer les paramètres
- Rendez le PDF dans le format souhaité
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, lorsque les marges et les en-têtes sont définis, 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");
Imports IronPdf
' Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
' to render HTML/CSS as a PDF document.
Private renderer As 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 With {.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.
Dim md As String = "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.
Dim pdf As PdfDocument = renderer.RenderMarkdownStringAsPdf(md)
' Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf")
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");
Imports IronPdf
Imports IronPdf.Rendering
' Create renderer with advanced options
Dim 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 With {
.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 With {
.Height = 20,
.HtmlFragment = "<div style='text-align: center; font-size: 10px;'>
Generated on {date} at {time}
</div>"
}
' Render HTML content
Dim htmlContent As String = "
<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>"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("professional-document.pdf")
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 offre un contrôle précis sur les délais de rendu dans des 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");
Imports IronPdf
Dim renderer = New ChromePdfRenderer()
' Enable PDF form creation from HTML forms
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
' HTML with form elements
Dim formHtml As String = "
<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>"
Dim pdfWithForms As PdfDocument = renderer.RenderHtmlAsPdf(formHtml)
pdfWithForms.SaveAs("interactive-form.pdf")
Vous trouverez ci-dessous un tableau illustrant les différentes options disponibles.
| Classe | ChromePdfRenderer | |
|---|---|---|
| Description du projet | Utilisé pour définir les options d'impression PDF, comme la taille du papier, le DPI, les en-têtes et les pieds de page | |
| Propriétés / fonctions | Type de texte | Description du projet |
CustomCookies |
Dictionary |
Cookies personnalisés pour le rendu HTML. Les cookies ne persistent pas entre les rendus et doivent être définis à chaque fois. |
PaperFit |
VirtualPaperLayoutManager |
Un gestionnaire permettant de configurer des mises en page de papier virtuel, contrôlant la manière dont le contenu sera mis en page sur les pages "papier" du PDF. Inclut des options pour le comportement par défaut de Chrome, le zoom, les mises en page CSS3 réactives, la mise à l'échelle de la page et les configurations de pages PDF de type flux continu. |
UseMarginsOnHeaderAndFooter |
UseMargins |
Utilisez les valeurs de marge du document principal lors du rendu des en-têtes et des pieds de page. |
CreatePdfFormsFromHtml |
bool |
Transforme tous les éléments de formulaire HTML en formulaires PDF éditables. La valeur par défaut est true. |
CssMediaType de texte |
PdfCssMediaType de texte |
Active les styles et feuilles de style CSS Media="screen". La valeur par défaut est PdfCssMediaType de texte.Screen. |
CustomCssUrl |
chaîne |
Permet d'appliquer une feuille de style CSS personnalisée au code HTML avant le rendu. Il peut s'agir d'un chemin de fichier local ou d'une URL distante. Uniquement applicable lors du rendu de HTML en PDF. |
AutoriserJavaScript |
bool |
Permet d'exécuter JavaScript et JSON avant le rendu de la page. Idéal pour l'impression à partir d'applications Ajax / Angular. La valeur par défaut est false. |
EnableMathematicalLaTex |
bool |
Permet le rendu des éléments mathématiques LaTeX. |
JavaScript |
chaîne |
Une chaîne JavaScript personnalisée à exécuter après le chargement de tout le HTML, mais avant le rendu du PDF. |
JavaScriptMessageListener |
StringDelegate |
Une méthode de rappel à invoquer chaque fois qu'un message de la console JavaScript du navigateur est disponible. |
Numéro de la première page |
int |
Numéro de la première page à utiliser dans les en-têtes et pieds de page du PDF. La valeur par défaut est 1. |
Table des matières |
TableOfContentsType de textes |
Génère une table des matières à l'emplacement dans le document HTML où un élément est trouvé avec l'id "IronPDF-toc". |
GrayScale |
bool |
Produit un PDF en noir et blanc. La valeur par défaut est false. |
TextHeader |
ITextHeaderFooter |
Définit le contenu du pied de page de chaque page PDF en tant que texte, en prenant en charge la fusion de courriers électroniques et en transformant automatiquement les URL en hyperliens. |
TextFooter |
||
HtmlHeader |
HtmlHeaderFooter |
Définit le contenu de l'en-tête de chaque page PDF en HTML. Prend en charge la fusion de courriers électroniques. |
HtmlFooter |
||
Encodage d'entrée |
Encodage |
L'encodage des caractères d'entrée sous forme de chaîne. La valeur par défaut est Encoding.UTF8. |
MarginTop |
double |
Marge supérieure "papier" du PDF en millimètres. La valeur est fixée à zéro pour les applications d'impression commerciale et sans bordure. La valeur par défaut est 25. |
MarginRight |
double |
Marge "papier" droite du PDF en millimètres. La valeur zéro est utilisée pour les applications d'impression sans bordure et les applications d'impression commerciale. La valeur par défaut est 25. |
MarginBottom |
double |
Marge "papier" inférieure du PDF en millimètres. La valeur est fixée à zéro pour les applications d'impression commerciale et sans bordure. La valeur par défaut est 25. |
MarginLeft |
double |
Marge "papier" gauche du PDF en millimètres. La valeur est fixée à zéro pour les applications d'impression commerciale et sans bordure. La valeur par défaut est 25. |
Orientation du papier |
PdfPaperOrientation |
L'orientation du papier PDF, par exemple Portrait ou Paysage. La valeur par défaut est Portrait. |
Taille du papier |
PdfPaperSize |
Définit la taille du papier |
Définir la taille du papier en centimètres |
double |
Définit la taille du papier en centimètres. |
SetCustomPaperSizeInInches |
Définit la taille du papier en pouces. | |
Définir la taille du papier en millimètres |
Définit la taille du papier en millimètres. | |
Définir la taille du papier en pixels ou en points |
Définit la taille du papier en pixels d'écran ou en points d'imprimante. | |
PrintHtmlBackgrounds |
Booléen |
Indique s'il faut imprimer les couleurs et les images d'arrière-plan à partir de HTML. La valeur par défaut est true. |
RequestContext |
Contextes de la demande |
Demande de contexte pour ce rendu, déterminant l'isolation de certaines ressources telles que les cookies. |
Délai d'expiration |
Integer |
Délai de rendu en secondes. La valeur par défaut est 60. |
Titre |
Chaîne |
Nom du document PDF et métadonnées de titre, utiles pour le publipostage et la dénomination automatique des fichiers dans les extensions IronPDF MVC et Razor. |
ForcePaperSize |
Booléen |
Force la taille des pages à correspondre exactement à ce qui est spécifié via IronPdf.ChromePdfRenderOptions.PaperSize en redimensionnant la page après avoir généré un PDF à partir de HTML. Aide à corriger les petites erreurs de taille de page lors de la conversion de HTML en PDF. |
Attendre |
Attendre |
Un objet enveloppant qui contient la configuration du mécanisme wait-for permettant aux utilisateurs d'attendre certains événements avant d'effectuer le rendu. Par défaut, il n'attend rien. |
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.

