Cómo establecer márgenes personalizados

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

por Jordi Bardia

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 que 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
VB   C#

Tenga en cuenta que esto se añade a los márgenes que se establecen en la sección style del HTML. Por ejemplo, en el siguiente ejemplo, los márgenes se establecen inicialmente en 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")
VB   C#

A continuación se muestra el PDF resultante:

Establecer margen personalizado en cabecera/pie

Por defecto, los márgenes establecidos en RenderingOptions no se aplican a los encabezados y pies de página del 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
VB   C#

Es posible especificar qué márgenes establecer en la cabecera y el pie de página. Si desea consultar una lista completa de enums para establecer márgenes en encabezados y pies de página, eche un vistazo a nuestra secciónreferencia completa de API. 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
VB   C#
Jordi related to Establecer margen personalizado en cabecera/pie

Jordi Bardia

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.