Comment définir des marges personnalisées

Jordi related to Comment définir des marges personnalisées
Jordi Bardia
octobre 3, 2023
Mise à jour février 5, 2025
Partager:
This article was translated from English: Does it need improvement?
Translated
View the article in English

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
$vbLabelText   $csharpLabel

Notez que cela s'ajoute aux marges définies dans la section style du HTML. Par exemple, dans l'exemple ci-dessous, les marges sont initialement définies à 50 mm dans le HTML, mais le réglage des marges pour chaque côté dans RenderingOptions ajoute 30 mm supplémentaires aux marges, les faisant passer à 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")
$vbLabelText   $csharpLabel

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 RenderingOptions ne s'appliquent pas aux en-têtes et pieds de page du document. Pour définir les mêmes marges personnalisées du document dans les en-têtes et 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
$vbLabelText   $csharpLabel

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 énumérations pour définir les marges dans les en-têtes et les pieds de page, consultez notre ré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
$vbLabelText   $csharpLabel
Jordi related to Définir une marge personnalisée dans l'en-tête et le pied de page
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.