Integrazione di NextPDF Artisan
In sintesi
Sezione intitolata “In sintesi”nextpdf/artisan è una libreria, non un plugin per framework. Per integrarla, installarla, associare un ChromeRendererConfig a un documento NextPDF e chiamare writeHtmlChrome(). Questa pagina fa da mappa al resto della documentazione di Artisan.
Installazione
Sezione intitolata “Installazione”composer require nextpdf/artisanPer la matrice completa dei requisiti e la dipendenza esterna da Chrome, vedere /integrations/artisan/install/.
Boot e discovery
Sezione intitolata “Boot e discovery”Artisan non include alcun service provider, bundle o manifesto di auto-discovery per framework. È una semplice libreria PSR-4 (NextPDF\Artisan\, NextPDF\Parser\) da usare direttamente. Non c’è nulla da «scoprire». Il punto di ingresso è il metodo writeHtmlChrome(), che nextpdf/core espone su Document non appena le classi del bridge sono caricabili tramite autoload. Per il modello di discovery e bootstrap, vedere /integrations/artisan/boot-and-discovery/.
Binding del container
Sezione intitolata “Binding del container”Non esiste alcuna integrazione del container da pubblicare. Per gli ambienti privi di un container DI, EInvoiceServiceFactory fornisce metodi factory statici (makeEmbedder, makeValidator, makeDefaultProfile, makeSchematronRunner). Questi metodi restituiscono le implementazioni dei contract e-invoice Premium, oppure null quando il tier Premium non è installato. Questo rispecchia il comportamento con restituzione di null dei pacchetti wrapper per framework, così che il codice senza container disponga di una superficie coerente. Per dettagli e motivazioni, vedere /integrations/artisan/boot-and-discovery/.
Punti di ingresso dell’API pubblica
Sezione intitolata “Punti di ingresso dell’API pubblica”| Punto di ingresso | Dove | Documentato in |
|---|---|---|
Document::writeHtmlChrome() (metodo core) | nextpdf/core | /integrations/artisan/quickstart/ |
Document::setChromeRendererConfig() (metodo core) | 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 di writeHtmlChrome() è (string $html, ?float $width = null, ?float $height = null): static, verificata rispetto a nextpdf/coresrc/Core/Concerns/HasTextOutput.php.
Smoke test
Sezione intitolata “Smoke test”<?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";Questo dimostra che l’autoloading e i binding dei contract di nextpdf/core vengono risolti senza avviare Chrome (comportamento verificato da tests/Unit/Artisan/ChromeHtmlRendererTest.php::usesDefaultHtmlSecurityPolicyWhenNoneInjected). Per lo smoke test di rendering end-to-end che utilizza Chrome, vedere /integrations/artisan/chrome-renderer-setup/.
Come proseguire
Sezione intitolata “Come proseguire”- Eseguire il rendering del primo documento: /integrations/artisan/quickstart/
- Tutte le opzioni di configurazione: /integrations/artisan/configuration/
- Provisioning di Chrome / container: /integrations/artisan/chrome-renderer-setup/
- Modello di trasporto e isolamento: /integrations/artisan/security-and-operations/
- Integrazione in produzione e worker batch: /integrations/artisan/production-usage/
- Diagnosticare un errore: /integrations/artisan/troubleshooting/
- Come avviene il boot del pacchetto: /integrations/artisan/boot-and-discovery/
Contesto commerciale
Sezione intitolata “Contesto commerciale”Il bridge è open source e pienamente funzionante. I tier Premium aggiungono al PDF generato l’incorporamento dell’e-invoice (Pro) e la validazione (Enterprise). Quando sono assenti, EInvoiceServiceFactory ripiega su null, così da poter scrivere il codice di integrazione una sola volta ed eseguirlo con o senza Premium.
Vedere anche
Sezione intitolata “Vedere anche”- /integrations/artisan/overview/
- /integrations/artisan/install/
- /integrations/artisan/boot-and-discovery/
- /integrations/artisan/quickstart/