Instalar NextPDF
En resumen
Sección titulada «En resumen»Cada distribución de NextPDF se instala con un solo comando del gestor de paquetes. Las distribuciones para PHP usan Composer; el SDK de Python usa pip. Basta con elegir la pestaña que corresponda a lo que se está construyendo, ejecutar el comando y, después, confirmar el resultado con el paso de verificación del final de esta página.
Requisitos
Sección titulada «Requisitos»NextPDF está orientado a un único entorno de ejecución moderno. Las restricciones siguientes provienen directamente de los archivos composer.json de los paquetes.
| Requisito | Restricción | Estado | Notas |
|---|---|---|---|
| PHP | >=8.4 <9.0 | Obligatorio | Composer se niega a instalarse en PHP 8.3 o versiones anteriores, o en PHP 9. |
| Composer | 2.x | Obligatorio | Necesario para la resolución de dependencias y la generación del cargador automático. |
ext-mbstring | — | Obligatorio | Gestión de cadenas multibyte para la disposición del texto. |
ext-zlib | — | Obligatorio | Compresión de flujos para objetos de Portable Document Format (PDF). |
ext-intl | — | Obligatorio | Servicios de International Components for Unicode (ICU): texto bidireccional, salto de línea y formato según la configuración regional. |
ext-gd | — | Obligatorio | Decodificación y procesamiento de imágenes rasterizadas para imágenes incrustadas. |
ext-curl | — | Obligatorio | Idas y vueltas de red: sellado de tiempo RFC 3161 y descargas de recursos remotos. La generación sin conexión no lo utiliza, pero Composer lo requiere igualmente. |
ext-openssl | — | Obligatorio | Criptografía para firmas digitales, estructuras CMS y cifrado. |
| Chrome or Chromium | — | Opcional | Solo para el renderizador de Artisan (writeHtmlChrome()). |
| Gotenberg service | — | Opcional | Solo para la conversión de documentos de oficina y HTML a través de Gotenberg. |
| Python | 3.10+ | Opcional | Solo para el software development kit (SDK) de Python. |
ext-mbstring y ext-zlib vienen habilitadas en la mayoría de los builds de PHP; ext-intl, ext-gd, ext-curl y ext-openssl varían según la distribución, por lo que conviene verificar las seis con php -m antes de instalar. Las integraciones comprueban las extensiones que necesitan al arrancar y se detienen con un mensaje claro si falta alguna.
Instalar el motor principal
Sección titulada «Instalar el motor principal»Para generar e inspeccionar PDF desde PHP, el motor principal es el único paquete necesario.
composer require nextpdf/coreConfirmar composer.lock en el control de versiones asegura que cada worker desplegado resuelva la misma versión del motor. Una vez instalado, se puede continuar con Tu primer PDF.
Instalar una integración con un framework
Sección titulada «Instalar una integración con un framework»Instalar un adaptador de framework permite obtener bindings del contenedor, helpers de respuesta y jobs de cola. Cada adaptador declara nextpdf/core y lo resuelve automáticamente.
composer require nextpdf/laravelEl autodescubrimiento registra el service provider y el facade Pdf. Luego, se publica el archivo de configuración:
php artisan vendor:publish --tag=nextpdf-configConsultar la guía de instalación de Laravel y la guía rápida de Laravel.
composer require nextpdf/symfonyEn una aplicación con Symfony Flex, el bundle se registra automáticamente. En una aplicación sin Flex, añadir NextPDF\Symfony\NextPdfBundle a config/bundles.php manualmente. Consultar la guía de instalación de Symfony.
composer require nextpdf/codeigniterCodeIgniter 4 descubre automáticamente la clase Services y el helper pdf(), por lo que no se requiere ningún registro manual. Consultar la guía de instalación de CodeIgniter.
Instalar un renderer o servicio
Sección titulada «Instalar un renderer o servicio»NextPDF renderiza HTML a PDF de tres maneras. Instalar la opción que corresponda al lugar donde deba realizarse el renderizado. Ninguna de ellas reemplaza a writeHtml(), la pipeline de HTML en PHP puro integrada en el motor principal.
composer require nextpdf/artisanEste paquete añade renderizado con headless Chrome a través del Chrome DevTools Protocol (CDP). También se necesita un binario de Chrome o Chromium accesible en el host. Una vez instalado, llamar a writeHtmlChrome() en un documento. Consultar la guía rápida de Artisan.
composer require nextpdf/cloudflare guzzlehttp/guzzleRenderiza a través de Cloudflare Browser Rendering en el edge. El puente depende únicamente de los contratos PSR-18 y PSR-17, por lo que se proporciona un cliente HTTP propio (aquí se muestra Guzzle). Consultar la guía de instalación de Cloudflare.
composer require nextpdf/gotenberg guzzlehttp/guzzleConvierte documentos de Office y HTML a través de un servicio de Gotenberg. Es necesario proporcionar un cliente PSR-18 y una instancia de Gotenberg accesible. Consultar la guía de instalación de Gotenberg.
Instalar el servidor
Sección titulada «Instalar el servidor»NextPDF Server (también llamado Connect) es un servicio independiente. Expone el motor a través de MCP, REST y gRPC.
composer require nextpdf/serverEl paquete añade puntos de entrada de consola a vendor/bin/, incluidos vendor/bin/nextpdf-mcp (el servidor MCP por stdio) y vendor/bin/nextpdf-server (el servidor REST). Los transportes REST y gRPC también necesitan el binario de RoadRunner:
./vendor/bin/rr get-binaryConsultar la guía de instalación de Connect y la guía rápida de Connect.
Instalar el SDK de Python
Sección titulada «Instalar el SDK de Python»El SDK de Python es el cliente tipado para un NextPDF Server en ejecución. Se instala desde PyPI:
pip install nextpdfEl SDK necesita Python 3.10 o posterior y un endpoint accesible de NextPDF Server. Consultar la guía rápida del SDK de Python.
Verificar la instalación
Sección titulada «Verificar la instalación»Confirmar que cada distribución se haya resuelto antes de empezar a escribir código.
composer show nextpdf/coreUna línea con la versión confirma que el motor está instalado y en el autoloader.
php artisan package:discover --ansiLa salida lista nextpdf/laravel entre los paquetes descubiertos.
php bin/console debug:container nextpdfEl contenedor muestra el alias nextpdf.document y el servicio PdfFactory.
./vendor/bin/generate-skills --dry-run --list-toolsEste comando arranca el registro e imprime las herramientas que expone esta instalación, sin iniciar realmente un servidor.
nextpdf versionUna cadena con la versión confirma que el SDK se importa correctamente.