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.
Cómo establecer márgenes personalizados
- Descargar la biblioteca C# para establecer márgenes personalizados
- Instanciar el ChromePdfRenderer clase para representar archivos PDF
- Modificar los valores de los márgenes en el Renderizador de Chrome RenderingOptions
- Establecer márgenes personalizados en encabezados y pies de página
- Convierte el HTML en PDF y guarda el documento
Instalar con NuGet
Install-Package IronPdf
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
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")
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
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ón Referencia 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