Cómo manejar saltos de página de HTML a PDF usando C#

Add or Avoid Page Breaks in HTML PDFs

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

IronPDF supports page breaks within PDF documents. One major difference between PDF documents and HTML is that HTML documents tend to scroll whereas PDFs are multi-paged and can be printed.

Quickstart: Implementing Page Breaks in HTML to PDF Conversion

Effortlessly convert HTML to PDF with page breaks using IronPDF. This example shows how to insert a page break after specific HTML content to ensure proper pagination. By adding the page-break-after: always; style, developers can control where page breaks occur, enhancing the readability and organization of the resulting PDF document. Perfect for those who need quick, efficient PDF generation from HTML content.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    new IronPdf.ChromePdfRenderer()
      .RenderHtmlAsPdf("<html><body><h1>Hello World!</h1><div style='page-break-after: always;'></div></body></html>")
      .SaveAs("pageWithBreaks.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer


Add a Page Break

To create a page-break in HTML you can use this in your HTML code:

<div style="page-break-after: always;"></div>
<div style="page-break-after: always;"></div>
HTML

Demonstration of Creating a Page Break

In this example, I have the following table and image in my HTML, and I want them to be on two separate pages by adding a page break after the table.

Table

<table style="border: 1px solid #000000">
  <tr>
    <th>Company</th>
    <th>Product</th>
  </tr>
  <tr>
    <td>Iron Software</td>
    <td>IronPDF</td>
  </tr>
  <tr>
    <td>Iron Software</td>
    <td>IronOCR</td>
  </tr>
</table>
<table style="border: 1px solid #000000">
  <tr>
    <th>Company</th>
    <th>Product</th>
  </tr>
  <tr>
    <td>Iron Software</td>
    <td>IronPDF</td>
  </tr>
  <tr>
    <td>Iron Software</td>
    <td>IronOCR</td>
  </tr>
</table>
HTML

Image

<img src="/static-assets/pdf/how-to/html-to-pdf-page-breaks/ironpdf-logo-text-dotnet.svg" style="border:5px solid #000000; padding:3px; margin:5px" />
<img src="/static-assets/pdf/how-to/html-to-pdf-page-breaks/ironpdf-logo-text-dotnet.svg" style="border:5px solid #000000; padding:3px; margin:5px" />
HTML
:path=/static-assets/pdf/content-code-examples/how-to/html-to-pdf-page-breaks-page-break.cs
using IronPdf;

const string html = @"
  <table style='border: 1px solid #000000'>
    <tr>
      <th>Company</th>
      <th>Product</th>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronPDF</td>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronOCR</td>
    </tr>
  </table>

  <div style='page-break-after: always;'> </div>

  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";

var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("Page_Break.pdf");
Imports IronPdf

Private Const html As String = "
  <table style='border: 1px solid #000000'>
    <tr>
      <th>Company</th>
      <th>Product</th>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronPDF</td>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronOCR</td>
    </tr>
  </table>

  <div style='page-break-after: always;'> </div>

  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>"

Private renderer = New ChromePdfRenderer()

Private pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("Page_Break.pdf")
$vbLabelText   $csharpLabel

And the code above will generate the PDF below, which has 2 pages: the Table on the First page and the Image on the second:

Avoiding Page Breaks in Images

To avoid a page-break within an image or table, you may use the CSS page-break-inside attribute applied to a wrapping DIV element.

<div style="page-break-inside: avoid">
    <img src="no-break-me.png" />
</div>
<div style="page-break-inside: avoid">
    <img src="no-break-me.png" />
</div>
HTML

Avoiding Page Breaks in Tables

As shown above, page breaks within tables can be avoided by using the CSS page-break-inside: avoid. This is better applied to a wrapping DIV than to the table itself to ensure the style is applied to a block-level HTML node.

To duplicate table headers and footers across every page of a large HTML table spanning multiple PDF pages, you may use a <thead> group within the table:

<thead>
    <tr>
        <th>C Sharp</th><th>VB</th>
    </tr>
</thead>
<thead>
    <tr>
        <th>C Sharp</th><th>VB</th>
    </tr>
</thead>
HTML

Advanced CSS3 Settings

To give greater control, you may wish to use CSS3 in addition to your thead group:

<style type="text/css">
    table { page-break-inside:auto }
    tr { page-break-inside:avoid; page-break-after:auto }
    thead { display:table-header-group }
    tfoot { display:table-footer-group }
</style>
<style type="text/css">
    table { page-break-inside:auto }
    tr { page-break-inside:avoid; page-break-after:auto }
    thead { display:table-header-group }
    tfoot { display:table-footer-group }
</style>
HTML

Preguntas Frecuentes

¿Cómo puedo añadir un salto de página al convertir HTML a PDF?

Para añadir un salto de página al convertir HTML a PDF, puedes insertar un <div style='page-break-after: always;'></div> en tu código HTML. Esto asegurará que el contenido que sigue al div comience en una nueva página al usar IronPDF.

¿Cómo evito saltos de página dentro de una imagen en la conversión a PDF?

Para evitar saltos de página dentro de una imagen durante la conversión a PDF, envuelve la imagen en un <div style='page-break-inside: avoid'> usando IronPDF. Este estilo CSS asegura que la imagen no se divida entre páginas.

¿Cuál es la mejor manera de evitar saltos de página en tablas HTML al generar PDFs?

Para evitar saltos de página en tablas HTML durante la generación de PDFs, aplica el CSS page-break-inside: avoid a un elemento <div> envolvente. Esto asegura que la tabla permanezca intacta en la página al usar IronPDF.

¿Cómo puedo asegurar que los encabezados de tabla se repitan en cada página de un PDF?

Para asegurar que los encabezados de tabla se repitan en cada página de un PDF, utiliza un elemento <thead> en tu tabla HTML. Esto permite a IronPDF duplicar los encabezados en múltiples páginas.

¿Qué configuraciones de CSS pueden controlar los saltos de página en documentos PDF?

Las configuraciones avanzadas de CSS para controlar los saltos de página en PDFs incluyen usar page-break-inside: auto para tablas, page-break-inside: avoid; page-break-after: auto para filas, y configurar display: table-header-group para <thead> y display: table-footer-group para <tfoot> al usar IronPDF.

¿En qué se diferencian HTML de PDF en términos de diseño de página?

Los documentos HTML generalmente se desplazan de forma continua, mientras que los PDFs se estructuran como documentos de varias páginas que requieren una paginación adecuada. Esto se gestiona eficazmente usando IronPDF.

¿Qué biblioteca puede ayudar con la adición de saltos de página en PDFs mediante C#?

IronPDF es una biblioteca C# que se puede utilizar para gestionar los saltos de página al convertir HTML a PDF. Ofrece varias configuraciones para manejar los saltos de página de manera eficiente.

¿El CSS de salto de página de IronPDF es totalmente compatible con proyectos .NET 10?

Sí, IronPDF es totalmente compatible con .NET 10 y sus funciones de salto de página de HTML a PDF (como page-break-after: always y page-break-inside: avoid ) funcionan de inmediato en entornos .NET 10. Puede instalar la biblioteca mediante NuGet en un proyecto .NET 10 y usar las mismas reglas de salto de página basadas en CSS sin modificaciones.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 16,154,058 | Versión: 2025.11 recién lanzado