Comment définir des marges personnalisées

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

par Jordi Bardia

Lorsque l'on travaille avec des PDF ou tout autre type de document, il est souvent nécessaire de spécifier les marges, afin de respecter les différentes normes. Par exemple, les formats MLA et APA exigent tous deux des marges de 1 pouce, alors que certaines universités peuvent exiger des marges de 1,5 pouce pour les mémoires.

IronPDF permet de définir facilement des marges personnalisées lors du rendu d'un PDF à partir de HTML - il suffit d'une simple configuration.

Commencez avec IronPDF

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

Première étape :
green arrow pointer



Exemple de marge personnalisée

Pour définir des marges personnalisées, instanciez d'abord la classe ChromePdfRenderer. Avec ChromePdfRenderer, vous pouvez accéder à l'objet RenderingOptions, à partir duquel vous pouvez définir les marges spécifiques en millimètres pour le haut, le bas, la gauche et la droite, comme indiqué ci-dessous :

:path=/static-assets/pdf/content-code-examples/how-to/custom-margins-set-margins.cs
ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 40;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.MarginBottom = 40;
Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.MarginTop = 40
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
renderer.RenderingOptions.MarginBottom = 40
VB   C#

Notez que cela s'ajoute aux marges définies dans la section style du code HTML. Par exemple, dans l'exemple ci-dessous, les marges sont initialement fixées à 50 mm dans le fichier html, mais le réglage des marges pour chaque côté dans RenderingOptions ajoute 30 mm supplémentaires aux marges, ce qui les porte à 80 mm :

:path=/static-assets/pdf/content-code-examples/how-to/custom-margins-set-margins-with-css.cs
const string htmlWithStyle = @"
<!DOCTYPE html>
<html>
    <head>
        <style>
            body {margin: 50mm 50mm 50mm 50mm;}
        </style>
    </head>
<body>
    <h1>Hello World!</h1>
</body>
</html>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 30;
renderer.RenderingOptions.MarginLeft = 30;
renderer.RenderingOptions.MarginRight = 30;
renderer.RenderingOptions.MarginBottom = 30;

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlWithStyle);
pdf.SaveAs("PdfWithCustomMargins.pdf");
Const htmlWithStyle As String = "
<!DOCTYPE html>
<html>
    <head>
        <style>
            body {margin: 50mm 50mm 50mm 50mm;}
        </style>
    </head>
<body>
    <h1>Hello World!</h1>
</body>
</html>"

Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.MarginTop = 30
renderer.RenderingOptions.MarginLeft = 30
renderer.RenderingOptions.MarginRight = 30
renderer.RenderingOptions.MarginBottom = 30

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlWithStyle)
pdf.SaveAs("PdfWithCustomMargins.pdf")
VB   C#

Le PDF résultant est présenté ci-dessous :

Définir une marge personnalisée dans l'en-tête et le pied de page

Par défaut, les marges définies dans les Options de rendu ne s'appliquent pas aux en-têtes et aux pieds de page du document. Pour définir les mêmes marges personnalisées du document dans les en-têtes et les pieds de page, configurez la propriété UseMarginsOnHeaderAndFooter dans RenderingOptions :

:path=/static-assets/pdf/content-code-examples/how-to/custom-margins-use-margins-header-footer.cs
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.All;
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.All
VB   C#

Il est possible de spécifier les marges à définir dans l'en-tête et le pied de page. Pour obtenir une liste complète des enums permettant de définir les marges dans les en-têtes et les pieds de page, consultez notre site Webréférence API complète. Voici quelques exemples de marges à définir :

:path=/static-assets/pdf/content-code-examples/how-to/custom-margins-use-specific-margins-header-footer.cs
// Use only the left margin from the document.
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.Left;

// Use only the left and right margins from the document.
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.LeftAndRight;
' Use only the left margin from the document.
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.Left

' Use only the left and right margins from the document.
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.LeftAndRight
VB   C#
Jordi related to Définir une marge personnalisée dans l'en-tête et le pied de page

Jordi Bardia

Ingénieur logiciel

Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.