Cómo establecer márgenes personalizados

Jordi related to Cómo establecer márgenes personalizados
Jordi Bardia
3 de octubre, 2023
Actualizado 5 de febrero, 2025
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English

Cuando se trabaja con PDF o con cualquier otro tipo de documento, a menudo es necesario especificar los márgenes, para ajustarse a las distintas normas. Por ejemplo, tanto el formato MLA como el APA exigen márgenes de 1 pulgada, mientras que algunas universidades pueden exigir márgenes de 1,5 pulgadas para los trabajos de tesis.

IronPDF facilita el establecimiento de márgenes personalizados al renderizar un PDF a partir de HTML; todo lo que se necesita es una sencilla configuración.

Comience con IronPDF

Comience a usar IronPDF en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer



Ejemplo de margen personalizado

Para establecer márgenes personalizados, primero instancie la clase ChromePdfRenderer. Con ChromePdfRenderer, puedes acceder al objeto RenderingOptions, desde el cual puedes establecer los márgenes específicos en milímetros para la parte superior, inferior, izquierda y derecha, como se muestra a continuación:

: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

Tenga en cuenta que esto se suma a los márgenes que se establecen en la sección style del HTML. Por ejemplo, en el siguiente ejemplo, los márgenes se configuran inicialmente como 50 mm en el html, pero al establecer los márgenes para cada lado en RenderingOptions se añaden otros 30 mm a los márgenes, haciéndolos de 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

A continuación se muestra el PDF resultante:

Establecer margen personalizado en cabecera/pie

De forma predeterminada, los márgenes configurados en RenderingOptions no se aplican a los encabezados y pies de página en el documento. Para establecer los mismos márgenes personalizados del documento en los encabezados y pies de página, configure la propiedad UseMarginsOnHeaderAndFooter en 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

Es posible especificar qué márgenes establecer en la cabecera y el pie de página. Para obtener una lista completa de enums para configurar márgenes en encabezados y pies de página, consulte nuestra referencia de API completa. A continuación se muestran algunos ejemplos de especificación de los márgenes que deben establecerse:

: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 Establecer margen personalizado en cabecera/pie
Ingeniero de software
Jordi es más competente en Python, C# y C++, cuando no está aprovechando sus habilidades en Iron Software; está programando juegos. Compartiendo responsabilidades en las pruebas de productos, el desarrollo de productos y la investigación, Jordi añade un inmenso valor a la mejora continua de los productos. La variada experiencia le mantiene desafiado y comprometido, y dice que es uno de sus aspectos favoritos de trabajar con Iron Software. Jordi creció en Miami, Florida, y estudió Informática y Estadística en la Universidad de Florida.