Comment définir des marges personnalisées
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.
Comment définir des marges personnalisées
- Télécharger la bibliothèque C# d'IronPDF pour la configuration des marges
- Instanciez le ChromePdfRenderer classe pour le rendu d'un fichier PDF
- Modifier les valeurs des marges dans le moteur de rendu du Chrome Options de rendu pour la personnalisation
- Ajuster les marges spécifiquement pour les en-têtes et les pieds de page
- Transformer le HTML en PDF et enregistrer le document
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
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")
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
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