Cómo crear archivos PDF en Node.js
Crear archivos PDF programáticamente en Node.js requiere una biblioteca que maneje el renderizado de HTML con precisión, soporte CSS moderno e integre limpiamente con los patrones asincrónicos de Node. IronPDF utiliza un motor de renderizado basado en Chromium para convertir contenido HTML en archivos PDF que coincidan con la salida de impresión de Chrome, admitiendo CSS completo, JavaScript en línea y diseños responsivos de manera automática.
Esta guía cubre el flujo de trabajo completo: instalación, generación de archivos PDF a partir de cadenas HTML, archivos HTML y URLs, configuración de opciones de salida y aplicación de características empresariales como encabezados, pies de página, firmas digitales y encriptación.
Inicio rápido: Crear un PDF en Node.js
- Instala IronPDF a través de npm:
npm install @ironsoftware/ironpdf - Importa
PdfDocumentdesde@ironsoftware/ironpdf - Llama a
PdfDocument.fromHtml()con tu contenido HTML - Llama a
.saveAs()para escribir el archivo PDF en el disco
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/quickstart.jsConfigura IronPdfEngine para tu plataforma antes de ejecutar en producción. Consulta la guía de instalación de IronPdfEngine para instrucciones sobre Windows, Linux, macOS y Docker.
Flujo de trabajo mínimo (5 pasos)
- Instala IronPDF:
npm install @ironsoftware/ironpdf - Importa
PdfDocumentde@ironsoftware/ironpdf - Genera un PDF usando
PdfDocument.fromHtml(),PdfDocument.fromFile(), oPdfDocument.fromUrl() - Aplica ajustes opcionales: tamaño del papel, márgenes, encabezados, pies de página
- Guarda la salida con
pdf.saveAs("output.pdf")
¿Cómo instalo IronPDF for Node.js?
Install the @ironsoftware/ironpdf package using npm. El paquete funciona con Node.js 12.0 o superior y soporta ambos formatos de módulo ESM y CommonJS.
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdfIronPDF for Node.js depende del binario de IronPDF Engine, que maneja el renderizado subyacente basado en Chromium. El motor se descarga automáticamente en la primera ejecución, pero puedes preinstalar el paquete específico de la plataforma para evitar descargas en tiempo de ejecución. Esto es útil en entornos de red restringidos o tuberías de CI basadas en Docker:
| Plataforma | Paquete |
|---|---|
| Windows x64 | @ironsoftware/ironpdf-engine-windows-x64 |
| Linux x64 | @ironsoftware/ironpdf-engine-linux-x64 |
| macOS x64 | @ironsoftware/ironpdf-engine-macos-x64 |
| macOS ARM | @ironsoftware/ironpdf-engine-macos-arm64 |
PdfDocument configurando IronPdfGlobalConfig.setConfig({ licenseKey: "YOUR-KEY" }). Sigue las instrucciones completas de configuración de la clave de licencia.¿Cuáles son los requisitos del sistema para IronPDF?
IronPDF for Node.js se ejecuta en Node.js 12.0 o superior en entornos de Windows, Linux, macOS y Docker. La biblioteca soporta arquitecturas tanto x64 como ARM64, haciéndola adecuada para desarrollo local y despliegues en contenedores. Para entornos en la nube, IronPDF también soporta conectarse a un IronPDF Engine remoto en lugar de ejecutar el motor localmente.
¿Cómo creo un PDF a partir de HTML en Node.js?
Usa PdfDocument.fromHtml() para generar un PDF a partir de una cadena HTML. El método acepta cualquier HTML válido, incluyendo bloques <style> en línea, fuentes externas cargadas a través de CDN y sistemas de diseño como CSS Grid o Flexbox. El renderizador de Chromium resuelve todos los recursos antes de generar el PDF.
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-string-to-pdf.jsPdfDocument.fromHtml() devuelve una instancia de PdfDocument. Llama a saveAs() con la ruta de salida deseada para escribir el archivo. El método es asincrónico, así que usa await o encadena un manejador .then(). El motor de Chromium maneja la carga de fuentes, hojas de estilo externas y resolución de activos antes de capturar la salida. Para más patrones, consulta el ejemplo de HTML a PDF.
¿Cómo creo un PDF a partir de un archivo HTML?
Carga un archivo .html existente desde el disco usando PdfDocument.fromFile(). Este enfoque funciona bien para documentos modelados donde el HTML se mantiene separado de la lógica de la aplicación.
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-file-to-pdf.jsEl renderizador resuelve las rutas de activos relativas desde el directorio del archivo HTML, por lo que las referencias locales a CSS e imágenes funcionan sin configuración adicional. Consulta el ejemplo de archivo HTML a PDF para opciones adicionales, incluyendo cómo anular la URL base para la resolución de activos.
¿Cómo genero un PDF a partir de una URL?
Usa PdfDocument.fromUrl() para renderizar una página web en vivo como un PDF. El renderizador carga la página como una sesión de navegador completa, ejecutando JavaScript, aplicando CSS y esperando contenido dinámico antes de capturar la salida.
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/url-to-pdf.jsPara páginas que cargan contenido asincrónicamente a través de JavaScript, combínalo con una opción renderDelay (en milisegundos) para permitir tiempo adicional antes de la captura. El ejemplo de URL a PDF demuestra la configuración de retraso y cabeceras de autenticación.
El Iron Suite juega un papel crucial en nuestras operaciones. Estas son herramientas que aumentan la eficiencia en toda la empresa, incluyendo la creación de planos y la mejora en la gestión de inventario.
¿Cómo configuro las opciones de salida de PDF?
Pasa un objeto de configuración como segundo argumento a PdfDocument.fromHtml(), PdfDocument.fromFile() o PdfDocument.fromUrl(). El objeto de configuración acepta tamaño de papel, márgenes, orientación y opciones de renderizado.
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/pdf-settings.jsLas opciones clave de configuración incluyen:
paperSize: acepta valores enumPdfPaperSize(A4, Carta, Legal y tamaños personalizados)landscape: configuratruepara orientación de página horizontalprintBackground: incluye colores de fondo e imágenes CSSmarginTop/Bottom/Left/Right: márgenes de página en milímetrosrenderDelay: milisegundos para esperar antes de la captura para páginas con mucho JavaScript
¿Cómo agrego encabezados y pies de página a un PDF?
Agrega encabezados y pies de página proporcionando propiedades htmlHeader y htmlFooter en el objeto de configuración. Ambos aceptan cadenas HTML completas, permitiendo contenido estilizado con números de página, fechas y texto dinámico.
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/headers-footers.jsUsa los tokens {page} y {total-pages} en el HTML del pie de página; IronPDF sustituye los valores correctos en el momento del renderizado. Para más patrones de encabezados y pies de página, incluyendo encabezados y pies de página HTML y técnicas avanzadas de encabezados, consulta los ejemplos enlazados.
¿Cómo añado seguridad y metadatos a un PDF?
Aplica protección con contraseña y encriptación a un PDF generado usando los métodos de seguridad PdfDocument. La biblioteca admite tanto contraseñas de propietario como de usuario, con controles granulares de permisos para impresión, copiado y edición.
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/security.jsLa encriptación y desencriptación utilizan encriptación AES de 256 bits por defecto cuando se aplican contraseñas. Para flujos de trabajo de autenticación de documentos, IronPDF también admite firmas digitales usando certificados X.509.
Para documentos que requieren cumplimiento archivístico a largo plazo, usa PdfDocument.fromHtml() seguido por el método de conversión a PDF/A. IronPDF admite cumplimiento PDF/A y estándares de accesibilidad PDF/UA.)}]
¿Cómo uno y manipulo archivos PDF existentes?
PdfDocument proporciona métodos para unir, dividir y modificar archivos PDF existentes. Carga un PDF existente con PdfDocument.fromFile() y usa los métodos de manipulación para agregar o quitar páginas, estampar contenido o reemplazar texto.
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/merge-pdfs.jsPdfDocument.mergePdf() acepta una matriz de instancias PdfDocument y devuelve un solo documento combinado. El orden de las páginas sigue el orden del arreglo, por lo que la salida preserva la secuencia de los archivos de entrada.
Otras operaciones comunes de manipulación:
- Elimina una página de un PDF usando
removePages() - Estampar contenido HTML en un documento existente
- Buscar y reemplazar texto en todas las páginas
- Extraer texto de un PDF para indexación o procesamiento
Para escenarios de alto volumen, la generación de PDF multihilo te permite procesar varios documentos en paralelo. La compresión de PDF reduce el tamaño de los archivos para almacenamiento y transmisión.
¿Cómo genero PDFs para contenido complejo como gráficos y páginas Angular?
IronPDF renderiza las páginas utilizando una sesión completa del navegador Chromium, lo que significa que las bibliotecas de JavaScript que producen gráficos, diagramas o visualizaciones de datos se renderizan correctamente, incluyendo bibliotecas de gráficas de JavaScript. Las aplicaciones de una sola página construidas con frameworks como Angular también se convierten limpiamente usando el ejemplo de Angular a PDF.
Para documentos con mucho contenido Unicode o salidas en varios idiomas, IronPDF maneja Unicode y conjuntos de caracteres internacionales sin configuración adicional. El ejemplo de integración con Google Fonts muestra cómo cargar fuentes web en el HTML renderizado para una tipografía consistente en el PDF de salida.
renderDelay en milisegundos para dar tiempo a la página para renderizar completamente.)¿Cuáles son los siguientes pasos para crear PDFs en Node.js?
Esta guía ha cubierto el flujo de trabajo central de IronPDF: instalar la biblioteca, generar PDFs a partir de cadenas HTML, archivos y URLs, configurar las opciones de salida, agregar encabezados y pies de página, aplicar seguridad y manipular PDFs existentes.
Para continuar, intenta el tutorial HTML a PDF completo para una revisión más profunda de las opciones de renderizado, o explora la Referencia de API para la lista completa de métodos y propiedades de configuración PdfDocument.
Inicia tu prueba gratuita para generar PDFs sin marcas de agua, o mira las opciones de licencia para implementaciones en producción.
Preguntas Frecuentes
¿Cuál es la forma más sencilla de crear archivos PDF en Node.js?
Instale IronPDF con npm install @ironsoftware/ironpdf, luego llame a PdfDocument.fromHtml() con su cadena HTML y guarde el resultado usando saveAs(). La biblioteca maneja toda la renderización automáticamente.
¿Cómo se instala IronPDF for Node.js?
Ejecute npm install @ironsoftware/ironpdf en su directorio de proyecto. El binario del IronPDF Engine se descarga automáticamente en el primer uso. Para entornos fuera de línea o CI, instale el paquete específico de la plataforma como @ironsoftware/ironpdf-engine-linux-x64 por separado.
¿Puedo convertir HTML a PDF conservando los estilos CSS y el formato?
Sí. IronPDF utiliza un motor de renderización basado en Chromium que preserva todos los estilos CSS, fuentes externas y ejecución de JavaScript al convertir HTML a PDF. La salida coincide con el comportamiento de vista previa de impresión de Chrome.
¿Qué características de PDF están disponibles más allá de la conversión básica de HTML?
IronPDF soporta firmas digitales, encriptación AES de 256 bits, protección con contraseña con permisos granulares, encabezados y pies de página personalizados con tokens de número de página, fusión de PDFs, eliminación de páginas, estampado HTML, extracción de texto, cumplimiento con PDF/A y generación multihilo.
¿Cómo creo un PDF a partir de un archivo HTML en disco?
Use PdfDocument.fromFile('./ruta/al/template.html'). El renderizador resuelve rutas de activos relativas desde el directorio del archivo HTML, por lo que las referencias a CSS e imágenes locales funcionan sin configuración adicional.
¿Puedo extraer texto de archivos PDF existentes usando IronPDF?
Sí. Cargue un PDF existente con PdfDocument.fromFile() y use los métodos de extracción de texto para leer el contenido de cualquier página. IronPDF soporta tanto la creación de nuevos PDFs como el procesamiento de documentos existentes.
¿IronPDF soporta la ejecución de JavaScript al renderizar HTML?
Sí. El renderizador Chromium ejecuta JavaScript antes de capturar el PDF. Para páginas que cargan contenido de manera asíncrona, configure la opción renderDelay en milisegundos para dar a la página tiempo adicional antes de capturar.





