Cómo establecer márgenes personalizados
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.
Cómo establecer márgenes personalizados
- Descargar la biblioteca IronPDF C# para configuración de márgenes
- Instanciar la clase ChromePdfRenderer para renderizar archivos PDF
- Modifica los valores de margen en el RenderingOptions de Chrome Renderer para personalización
- Ajustar márgenes específicamente para encabezados y pies de página
- Convierte el HTML en PDF y guarda el documento
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
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")
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
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