Integración de NextPDF con Artisan
De un vistazo
Sección titulada «De un vistazo»nextpdf/artisan es una biblioteca, no un complemento para frameworks. Para integrarla, se instala, se asocia un ChromeRendererConfig a un documento de NextPDF y se llama a writeHtmlChrome(). Esta página ubica el resto de la documentación de Artisan.
Instalación
Sección titulada «Instalación»composer require nextpdf/artisanLa matriz completa de requisitos y la dependencia externa de Chrome están documentadas en /integrations/artisan/install/.
Arranque y descubrimiento
Sección titulada «Arranque y descubrimiento»Artisan no incluye ningún proveedor de servicios, bundle ni manifiesto de descubrimiento automático para frameworks. Es una biblioteca PSR-4 simple (NextPDF\Artisan\, NextPDF\Parser\) que se consume directamente. No hay nada que «descubrir». El punto de entrada es el método writeHtmlChrome(), expuesto por nextpdf/core en Document una vez que las clases del puente pueden autocargarse. El modelo de descubrimiento y arranque está documentado en /integrations/artisan/boot-and-discovery/.
Enlaces del contenedor
Sección titulada «Enlaces del contenedor»No hay ninguna integración de contenedor para publicar. En entornos sin contenedor de DI, EInvoiceServiceFactory proporciona métodos de fábrica estáticos (makeEmbedder, makeValidator, makeDefaultProfile, makeSchematronRunner). Estos métodos devuelven implementaciones de contratos Premium de factura electrónica, o null cuando el nivel Premium no está instalado. Esto refleja el comportamiento de devolución de null de los paquetes envoltorio para frameworks, de modo que el código sin contenedor obtiene una superficie coherente. Para más detalles y la motivación, véase /integrations/artisan/boot-and-discovery/.
Puntos de entrada de la API pública
Sección titulada «Puntos de entrada de la API pública»| Punto de entrada | Dónde | Documentado en |
|---|---|---|
Document::writeHtmlChrome() (método del núcleo) | nextpdf/core | /integrations/artisan/quickstart/ |
Document::setChromeRendererConfig() (método del núcleo) | nextpdf/core | /integrations/artisan/quickstart/ |
ChromeHtmlRenderer::render() | nextpdf/artisan | /integrations/artisan/production-usage/ |
ChromeRendererConfig / ::fromArray() | nextpdf/artisan | /integrations/artisan/configuration/ |
EInvoiceServiceFactory::make*() | nextpdf/artisan | /integrations/artisan/boot-and-discovery/ |
La firma de writeHtmlChrome() es (string $html, ?float $width = null, ?float $height = null): static, verificada frente a nextpdf/coresrc/Core/Concerns/HasTextOutput.php.
Prueba de humo
Sección titulada «Prueba de humo»<?php
declare(strict_types=1);
use NextPDF\Artisan\ChromeHtmlRenderer;use NextPDF\Artisan\ChromeRendererConfig;
require __DIR__ . '/vendor/autoload.php';
$renderer = new ChromeHtmlRenderer(new ChromeRendererConfig());assert($renderer->getHtmlSecurityPolicy()->getName() === 'default');echo "ARTISAN_WIRED\n";Esto demuestra que la autocarga y los enlaces de contrato de nextpdf/core se resuelven sin iniciar Chrome (comportamiento confirmado por tests/Unit/Artisan/ChromeHtmlRendererTest.php::usesDefaultHtmlSecurityPolicyWhenNoneInjected). La prueba de humo de renderizado de extremo a extremo que ejercita Chrome está documentada en /integrations/artisan/chrome-renderer-setup/.
Adónde ir después
Sección titulada «Adónde ir después»- Renderizar el primer documento: /integrations/artisan/quickstart/
- Cada opción de configuración: /integrations/artisan/configuration/
- Aprovisionar Chrome / contenedores: /integrations/artisan/chrome-renderer-setup/
- Modelo de transporte y aislamiento: /integrations/artisan/security-and-operations/
- Cableado de producción y workers por lotes: /integrations/artisan/production-usage/
- Diagnosticar un fallo: /integrations/artisan/troubleshooting/
- Arranque del paquete: /integrations/artisan/boot-and-discovery/
Contexto comercial
Sección titulada «Contexto comercial»El puente es código abierto y totalmente funcional. Los niveles Premium añaden la incrustación de facturas electrónicas (Pro) y la validación (Enterprise) al PDF renderizado. Cuando no están disponibles, EInvoiceServiceFactory devuelve null, de modo que se puede escribir el código de integración una sola vez y ejecutarlo con o sin Premium.
Véase también
Sección titulada «Véase también»- /integrations/artisan/overview/
- /integrations/artisan/install/
- /integrations/artisan/boot-and-discovery/
- /integrations/artisan/quickstart/