Salto de página Markdown PDF: empieza una página nueva justo donde quieras

Por Equipo de pdftomd.tools · Actualizado el · 8 min de lectura

Markdown no tiene sintaxis para saltos de página. Para un salto de página en el PDF, inserta en su lugar una línea de HTML: <div style="page-break-after: always"></div>, con una línea en blanco encima y otra debajo. Los exportadores basados en HTML, incluida nuestra herramienta para convertir Markdown a PDF, empiezan ahí una página nueva. Si usas Pandoc por la vía de LaTeX, escribe \newpage. Después revisa que el PDF no tenga páginas en blanco.

Ilustración: dos páginas lado a lado con una línea de salto discontinua y una flecha hacia la página nueva

Por qué Markdown no tiene salto de página

Markdown se creó para la web, y una página web no tiene páginas. Ni la sintaxis original ni CommonMark definen un salto de página. Lo más parecido es una línea de tres guiones ---, un salto temático: se convierte en una línea <hr>, no en una página nueva. Mucha gente lo prueba primero como salto de página y luego no entiende por qué no pasa nada.

Lo que Markdown sí permite es HTML en bruto. Casi todos los exportadores convierten primero el Markdown en HTML y luego imprimen ese HTML como PDF; así que un salto de página es, en realidad, una regla CSS aplicada a un elemento HTML. La excepción es la vía por defecto de Pandoc, que pasa por LaTeX y espera un comando LaTeX.

Fragmentos de salto de página que funcionan

Elige la línea que corresponda a tu exportador y ponla sola en su propia línea, con una línea en blanco antes y después, para que el parser de Markdown la trate como un bloque HTML:

Last paragraph of the first part.

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

## Part two

This heading starts a new page.
El nombre de propiedad antiguo, que entienden todos los exportadores HTML que conocemos.
  • CSS moderno: <div style="break-after: page"></div>, o break-before: page en el elemento que debe abrir la página.
  • Directamente en un título: <h2 style="page-break-before: always">Segunda parte</h2>, si no te importa escribir ese título en HTML.
  • Extensión Markdown PDF de VS Code: su README indica <div class="page"/>; la hoja de estilos de la extensión produce el salto. Es la respuesta habitual para VS Code, y el estilo en línea de arriba también funciona ahí.
  • Pandoc con LaTeX (la vía por defecto al PDF): una línea con \newpage. La extensión raw_tex solo la pasa tal cual a los writers de LaTeX y ConTeXt. El comando newpage de Pandoc no está pensado para salida HTML; si usas un motor HTML para el PDF, usa el div.

¿Por qué dos nombres? La especificación CSS de fragmentación sustituyó page-break-before y page-break-after por break-before y break-after, y mantiene los nombres antiguos como alias: page-break-after: always se comporta igual que break-after: page. La forma antigua es la opción más segura para herramientas viejas; MDN documenta las dos.

“Fuerza siempre un salto de página antes/después de la caja principal.”
W3C, CSS Fragmentation Module Level 3, definición del valor page (traducido)

Cómo trata nuestro exportador un salto manual

Hasta el 19 oct. 2026, nuestro exportador ignoraba los saltos de página manuales y decidía cada corte por su cuenta. Ahora lee los valores calculados break-before y break-after de cada elemento del documento renderizado, así que un salto de página CSS en un atributo style se respeta, con la escritura antigua o la nueva. La vista previa en vivo dibuja una línea discontinua con la etiqueta «Salto de página» donde empieza la página nueva, y tras exportar, un aviso te dice cuántos saltos manuales se aplicaron.

Captura de pantalla: un salto de página en nuestro editor, el div a la izquierda y una línea de salto discontinua en la vista previa a la derecha
Captura de pantalla: la línea de salto en el código y la marca discontinua en la vista previa.

Unas pocas reglas mantienen limpio el resultado:

  • Un salto justo al principio o justo al final del documento se ignora, así que nunca tendrás una primera o última página en blanco.
  • Dos saltos seguidos cuentan como uno. Chrome imprime una página en blanco entre ellos; suponemos que casi nunca es lo que quieres.
  • Los valores left, right, recto y verso empiezan una página nueva. No añadimos una página en blanco para caer en una página izquierda o derecha.
  • --- sigue siendo una línea horizontal, tal como la define Markdown.
  • Los saltos automáticos siguen aplicándose dentro de las secciones largas y siguen evitando cortar una línea, una fila de tabla o una imagen.
Captura de pantalla: las dos páginas del PDF exportado, un resumen breve en la página uno y la tabla del anexo arriba en la página dos
Captura de pantalla: el PDF exportado del ejemplo de arriba. El anexo empieza en la página dos.

Qué probamos, comparado con imprimir desde Chrome

Escribimos 9 documentos pequeños, cada uno con una forma distinta de escribir un salto de página. Los exportamos todos con el botón real Descargar PDF y los volvimos a leer con pdfinfo y pdftotext para ver qué texto había caído en qué página. Como referencia, imprimimos el mismo HTML con la impresora PDF de Chrome. En nuestras pruebas, los 9 casos dieron las páginas esperadas sin páginas en blanco, y 8 de 9 coincidieron con Chrome página por página.

Saltos de página manuales en nuestro exportador vs imprimir a PDF desde Chrome, según nuestras pruebas (19 de oct. de 2026)
MarcadoNuestras páginasPáginas en ChromePáginas en blanco (nuestras)Resultado esperadoFrente a Chrome
<div style="page-break-after: always">220SíIgual
<div style="break-before: page">220SíIgual
<div style="break-after: page">220SíIgual
<h2 style="page-break-before: always">220SíIgual
Salto y luego un título Markdown220SíIgual
Dos div de salto seguidos230SíDistinto
Salto justo al principio y justo al final110SíIgual
--- (una línea Markdown)110SíIgual
Saltos de página manuales y automáticos mezclados440SíIgual
La única diferencia son dos saltos seguidos: Chrome añade una página en blanco y nuestro exportador no. El PDF exportado, convertido de nuevo a Markdown, devolvió títulos y texto.

Mantener un título con su texto, y otros cortes molestos

Los saltos manuales resuelven los sitios que conoces. Del resto se encarga el exportador, y el fallo clásico es un título solo al pie de una página mientras su texto empieza en la siguiente. Los procesadores de texto llaman a la solución «conservar con el siguiente». En CSS, la regla equivalente es break-after: avoid en los títulos, pero el soporte de los valores avoid al imprimir varía entre motores; pruébalo antes de fiarte.

Ilustración: a la izquierda, un título solo al final de una página; a la derecha, el mismo título arriba en la página siguiente
Izquierda: un título huérfano. Derecha: el título pasa a la página siguiente junto con su texto.

Nuestro exportador lo hace sin ningún marcado: un título se queda con la primera línea que lo sigue, y las filas de tabla y las imágenes no se parten si caben en una página. Si aun así no te gusta dónde termina una página, pon un salto de página manual justo antes del título. La imagen de abajo muestra dónde puede caer un corte y dónde no.

Ilustración: una página con líneas discontinuas entre bloques, donde se permite un corte, y marcas rojas dentro de una tabla, donde no
Los cortes pueden caer entre bloques (azul), no en mitad de una línea ni de una fila de tabla (rojo).

Las tablas requieren un cuidado especial. Nuestra guía para imprimir tablas trata las tablas largas y anchas, y una exportación rápida con MD a PDF es la forma más rápida de probar un diseño antes del documento de verdad.

Errores habituales con los saltos de página

Cuando un salto de página no hace nada, casi siempre es por uno de estos cuatro motivos:

  • No hay línea en blanco después del div. En CommonMark, un bloque HTML que empieza con <div> continúa hasta la siguiente línea vacía. El texto que va justo debajo queda absorbido por el HTML y sale sin formato, con ## y ** como caracteres literales.
  • El div está dentro de una lista, una cita o una tabla. Ponlo en el nivel superior del documento, donde cualquier exportador lo vea como un bloque propio.
  • El HTML en bruto está desactivado. Algunos renderizadores desactivan el HTML por defecto y muestran la etiqueta como texto. Activa el HTML en los ajustes o usa la sintaxis de salto propia de la herramienta, si la tiene.
  • Juzgar por la vista previa. Las vistas previas que sanean el HTML suelen quitar los estilos en línea, así que el salto parece faltar en pantalla y aun así funciona al exportar. Nuestra vista previa muestra la marca discontinua, pero la prueba de verdad es el archivo exportado.

Otro hábito ayuda: pon cada salto manual justo encima del título de la sección que debe empezar en una página nueva, nunca debajo. Así el título y el primer párrafo siempre van juntos, y si más adelante borras el salto, el documento se sigue leyendo en el orden correcto.

Revisión rápida antes de compartir el PDF

  1. Recorre todas las páginas buscando páginas en blanco; suelen indicar dos saltos seguidos o un salto al final.
  2. Comprueba que cada sección empieza arriba de su página, con el título primero.
  3. Busca una palabra de la última página para confirmar que la capa de texto es real.
  4. Si el PDF se imprime a doble cara y los capítulos deben empezar en página derecha, usa una herramienta que soporte break-before: right; la nuestra lo trata como una página nueva normal.

Preguntas frecuentes

¿Cómo inserto un salto de página en Markdown para un PDF?

Markdown no tiene sintaxis para eso. Añade la línea HTML <div style="page-break-after: always"></div> con líneas en blanco antes y después; los exportadores a PDF basados en HTML empiezan ahí una página nueva.

¿`---` crea un salto de página?

No. Tres guiones dan un salto temático, que se muestra como una línea horizontal. En el PDF sigue siendo una línea.

¿Uso page-break-after o break-after?

Los dos funcionan. break-after: page es el nombre CSS actual y page-break-after: always el alias antiguo. El antiguo es algo más seguro en herramientas viejas; nuestro exportador lee ambos.

¿Cómo inserto un salto de página con Pandoc?

Para PDF vía LaTeX, pon \newpage en su propia línea. Si generas el PDF vía HTML (por ejemplo, con un motor HTML), usa el div CSS, porque el comando LaTeX solo pasa a los writers de LaTeX y ConTeXt.

¿Por qué me salió una página en blanco?

Normalmente hay dos saltos seguidos, o un salto justo al final. Chrome imprime una página en blanco en ambos casos; nuestro exportador la omite.

¿Puede cada H2 empezar en una página nueva?

Con una hoja de estilos, h2 { break-before: page; } lo resuelve en herramientas que aceptan CSS propio. En nuestro editor, pon la línea del div antes de cada H2 o escribe el título como <h2 style="page-break-before: always">.