Salta ai contenuti

Integrazione di NextPDF Artisan

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.

Terminal window
composer require nextpdf/artisan

Per la matrice completa dei requisiti e la dipendenza esterna da Chrome, vedere /integrations/artisan/install/.

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/.

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/.

Punto di ingressoDoveDocumentato 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.

<?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/.

  • 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/

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.

  • /integrations/artisan/overview/
  • /integrations/artisan/install/
  • /integrations/artisan/boot-and-discovery/
  • /integrations/artisan/quickstart/