Cómo convertir HTML a PDF

Guía de HTML a PDF y generador de CSS de impresión

Cómo convertir HTML a PDF: CSS de impresión, window.print() | We.Inc

Convierte HTML en un PDF limpio: guárdalo desde el diálogo de impresión, escribe CSS de impresión con @page y break-inside, invoca window.print() o renderízalo en un servidor. Con un generador de CSS de impresión.

La forma más rápida de convertir una página web en PDF es el propio diálogo de impresión del navegador: ábrelo, elige el destino PDF y guarda. Para controlar el aspecto de ese PDF, añade CSS de impresión con @media print y @page para el tamaño de papel y los márgenes. Para PDFs generados automáticamente, renderiza la página con un navegador headless como Puppeteer o Playwright.

Formas de crear un PDF a partir de HTML

Todos los métodos de esta página acaban pidiendo a un motor de navegador que maquete la página sobre papel, así que un buen CSS de impresión los mejora todos. Crea abajo una hoja de estilos de impresión inicial y luego elige la vía de conversión según quién pulse el botón: una persona, tu página o un servidor.

Preguntas frecuentes

¿Cómo guardo una página web como PDF sin ninguna herramienta?

Abre el diálogo de impresión del navegador desde su menú o con el atajo de teclado y elige la opción PDF en la lista de destinos o impresoras. El nombre exacto depende del navegador y del sistema operativo.

¿Cómo añado un botón Descargar PDF a mi página?

La versión honesta más sencilla es un botón que invoca window.print(), que abre el mismo diálogo, donde el visitante puede guardar como PDF. No necesita ninguna librería, mantiene el texto seleccionable y usa tu CSS de impresión.

¿Cómo evito que una tabla se parta entre dos páginas?

Añade break-inside: avoid a la tabla, o a sus filas si la tabla es larga. El antiguo page-break-inside: avoid se trata como un alias, así que sigue funcionando en hojas de estilos antiguas.

¿Puedo definir el tamaño de papel desde CSS?

Sí. @page { size: A4 portrait; margin: 15mm; } define el tamaño y los márgenes de la caja de página. Puppeteer solo lo usa cuando preferCSSPageSize es true; si no, decide su propia opción format, que por defecto es Letter.

¿Por qué html2pdf.js genera PDFs borrosos o enormes?

Su README explica que renderiza el contenido como una imagen y coloca esa imagen en el PDF, así que el texto no se puede seleccionar ni buscar y los archivos crecen mucho. Usa la impresión o un navegador headless cuando el texto importa.

El CSS de impresión es la base

Cuándo renderizar en un servidor

Referencia de CSS de impresión

Reglas y propiedades que dan forma a las páginas impresas

Ejemplos de impresión para copiar

Un botón de imprimir o guardar como PDF

window.print() abre el diálogo de impresión y bloquea la página hasta que se cierra. La clase deja el propio botón fuera del papel.

Diseño de facturas que empieza cada factura en una página nueva

break-after: page después de cada factura da una factura por hoja cuando se imprimen varias juntas.

Preparar la página justo antes de imprimir

beforeprint y afterprint se disparan alrededor del diálogo, lo que sirve para desplegar secciones contraídas.

PDF en servidor con Puppeteer

preferCSSPageSize hace que tu tamaño de @page gane a la opción format; printBackground conserva los fondos.

Generador de CSS de impresión

Tamaño de papel

Orientación

Vertical

Horizontal

Margen: {n} mm

Ocultar navegación, pie de página y barras laterales

Mantener tablas, figuras y código en una página

Imprimir la dirección de cada enlace después del enlace

Conservar los colores de fondo

Copiar CSS

Empieza gratis · Sin tarjeta de crédito

Relacionado: Guías

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio