Guías prácticas16 de marzo de 2026
Meidy Baffou·LazyPDF

Cómo convertir HTML a PDF en Linux: todos los métodos

Convertir HTML a PDF es una tarea frecuente en Linux: guardar páginas web importantes como documento, generar PDFs desde aplicaciones web, crear reportes desde datos HTML, o archivar contenido online. Linux ofrece más opciones para esta tarea que ningún otro sistema operativo: desde simples herramientas web hasta potentes utilidades de línea de comandos que pueden automatizarse. Esta guía cubre todos los métodos de mayor a menor complejidad.

Método 1: Herramienta web (más simple)

La opción más sencilla para usuarios de cualquier distribución Linux sin conocimientos técnicos:

  1. 1Abre Firefox, Chromium o cualquier navegador en tu Linux.
  2. 2Navega a lazy-pdf.com.
  3. 3Haz clic en 'HTML a PDF'.
  4. 4Tienes dos opciones: introducir la URL de la página web o subir un archivo HTML.
  5. 5Para una URL: pega la dirección completa (incluyendo https://) en el campo de URL.
  6. 6Para un archivo HTML local: haz clic en 'Subir archivo' y selecciona el .html desde tu sistema de archivos.
  7. 7Haz clic en 'Convertir' y espera a que el servidor cargue y renderice el HTML.
  8. 8Descarga el PDF resultante cuando finalice el proceso.

Método 2: Chromium headless desde terminal

Chromium (o Chrome) en modo headless puede convertir páginas web a PDF directamente desde la terminal sin abrir la interfaz gráfica. Esta es una opción excelente para automatización: `chromium-browser --headless --disable-gpu --print-to-pdf=salida.pdf https://ejemplo.com`. O para archivos HTML locales: `chromium-browser --headless --disable-gpu --print-to-pdf=salida.pdf file:///ruta/completa/al/archivo.html`. El resultado es un PDF de alta calidad que renderiza el HTML exactamente como lo vería el usuario en Chrome. Para instalar Chromium: `sudo apt install chromium-browser` (Ubuntu/Debian) o `sudo dnf install chromium` (Fedora).

Método 3: wkhtmltopdf

wkhtmltopdf es una herramienta específicamente diseñada para convertir HTML a PDF usando el motor de renderizado WebKit. Soporta CSS avanzado, JavaScript, y produce PDFs de alta calidad. Instalación: `sudo apt install wkhtmltopdf` (Ubuntu) o descarga el paquete desde wkhtmltopdf.org para otras distribuciones. Uso básico: `wkhtmltopdf https://ejemplo.com salida.pdf`. Para archivos locales: `wkhtmltopdf archivo.html salida.pdf`. Opciones útiles: `wkhtmltopdf --page-size A4 --margin-top 20mm --margin-bottom 20mm https://ejemplo.com salida.pdf`. wkhtmltopdf soporta muchas opciones de configuración como orientación, márgenes, encabezados personalizados, y numeración de páginas.

Método 4: weasyprint para HTML/CSS moderno

WeasyPrint es una herramienta Python que convierte HTML y CSS a PDF con excelente soporte para CSS3 moderno, incluyendo flexbox, grid, y media queries. Es especialmente buena para documentos bien diseñados con CSS. Instalación: `pip install weasyprint` o `sudo apt install python3-weasyprint`. Uso: `weasyprint input.html output.pdf` o `weasyprint https://ejemplo.com output.pdf`. WeasyPrint respeta las media queries `@print` de CSS, lo que significa que si el HTML tiene estilos específicos para impresión, los aplicará correctamente en el PDF. Es ideal para generar PDFs desde aplicaciones web con diseño controlado.

Método 5: LibreOffice Writer para HTML simple

Si el HTML es simple (sin JavaScript complejo ni CSS avanzado), LibreOffice puede abrirlo y exportarlo a PDF. Desde la terminal: `libreoffice --headless --convert-to pdf archivo.html`. Este método es útil para documentos HTML generados como plantillas de documentos simples. Sin embargo, LibreOffice no soporta JavaScript y tiene soporte CSS limitado, por lo que no es adecuado para páginas web complejas.

Imprimir a PDF desde el navegador en Linux

La forma más sencilla de guardar cualquier página web como PDF en Linux es usar la función de impresión del navegador. En Firefox: Ctrl+P > Seleccionar PDF como impresora > Imprimir. En Chromium: Ctrl+P > Guardar como PDF > Guardar. Este método captura la página exactamente como la ves en pantalla y es perfecto para usos ocasionales. Para automatización o uso masivo, los métodos de terminal son más apropiados. Firefox y Chromium en Linux usan el sistema de impresión CUPS, que en muchas distribuciones incluye un 'PDF printer' virtual que genera PDFs de alta calidad.

Preguntas frecuentes

¿Cuál es el método que produce el PDF de mejor calidad en Linux?

Chromium headless produce PDFs de la mayor calidad visual ya que usa el mismo motor de renderizado que el navegador Chrome. Para documentos con CSS de impresión bien definido, WeasyPrint también produce excelentes resultados. Para velocidad y simplicidad, la herramienta web de LazyPDF es la más conveniente.

¿Puedo convertir HTML a PDF manteniendo los enlaces clickables?

Sí. Chromium headless y wkhtmltopdf preservan los hipervínculos del HTML como enlaces clickables en el PDF. WeasyPrint también soporta links. Los navegadores en modo de impresión pueden o no preservar links dependiendo de la configuración.

¿wkhtmltopdf funciona con páginas que requieren JavaScript?

wkhtmltopdf tiene soporte JavaScript básico pero limitado. Para páginas web que cargan contenido dinámicamente con JavaScript (SPAs, apps React/Angular), Chromium headless es mucho más apropiado ya que tiene el mismo soporte JavaScript que Chrome.

¿Cómo convierto todas las páginas de un sitio web a PDF automáticamente?

Combina Chromium headless con un script bash o Python. Primero usa wget o httrack para descargar las páginas HTML del sitio, luego itera sobre los archivos con Chromium headless para convertir cada uno a PDF, y finalmente usa qpdf o pdftk para fusionar todos los PDFs en uno solo. Este proceso es llamado web scraping to PDF y se usa para archivar sitios web completos.

¿Cómo controlo el tamaño y los márgenes del PDF al convertir HTML en Linux?

Con wkhtmltopdf, usa parámetros específicos: `wkhtmltopdf --page-size A4 --margin-top 15mm --margin-right 15mm --margin-bottom 15mm --margin-left 15mm --orientation Portrait archivo.html salida.pdf`. Con Chromium headless, los márgenes se configuran mediante el parámetro `--print-to-pdf-no-header` y `--print-to-pdf`. Con WeasyPrint, controla márgenes directamente en CSS usando la regla @page: `@page { margin: 15mm; size: A4; }`.

¿Puedo convertir HTML a PDF con estilos de impresión en Linux?

Sí. El estándar CSS define reglas @media print específicas para impresión/PDF. Chromium headless y WeasyPrint respetan completamente estas reglas. Puedes ocultar elementos de navegación (header, footer, menús) en el PDF usando `@media print { nav { display: none; } }` en el CSS del HTML. Esto es especialmente útil para convertir páginas web diseñadas para pantalla a PDFs limpios sin elementos de interfaz innecesarios.

Convierte páginas web y archivos HTML a PDF de forma rápida desde cualquier navegador en Linux.

Convertir HTML a PDF

Artículos relacionados