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échargez la bibliothèque IronPDF C# pour la configuration des marges
- Instancier la classe ChromePdfRenderer pour rendre le fichier PDF
- Modifiez les valeurs de marge dans les RenderingOptions du Chrome Renderer pour la personnalisation
- Ajuster les marges spécifiquement pour les en-têtes et 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 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")
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
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