Zum Inhalt springen

NextPDF-Artisan-Integration

nextpdf/artisan ist eine Bibliothek, kein Framework-Plugin. Für die Integration installieren Sie die Bibliothek, hängen eine ChromeRendererConfig an ein NextPDF-Dokument an und rufen writeHtmlChrome() auf. Diese Seite ordnet die übrige Artisan-Dokumentation.

Terminal-Fenster
composer require nextpdf/artisan

Die vollständige Anforderungsmatrix und die externe Chrome-Abhängigkeit finden Sie unter /integrations/artisan/install/.

Artisan liefert keinen Service-Provider, kein Bundle und kein Framework-Auto-Discovery-Manifest mit. Es ist eine einfache PSR-4-Bibliothek (NextPDF\Artisan\, NextPDF\Parser\), die Sie direkt verwenden. Es gibt nichts zu „entdecken“. Der Einstiegspunkt ist die Methode writeHtmlChrome(), die nextpdf/core auf Document bereitstellt, sobald die Brückenklassen autoloadbar sind. Weitere Informationen zum Discovery- und Bootstrap-Modell finden Sie unter /integrations/artisan/boot-and-discovery/.

Es gibt keine Container-Integration, die veröffentlicht werden müsste. Für Umgebungen ohne DI-Container stellt EInvoiceServiceFactory statische Factory-Methoden bereit (makeEmbedder, makeValidator, makeDefaultProfile, makeSchematronRunner). Diese Methoden geben entweder Premium-E-Invoice-Vertragsimplementierungen oder null zurück, wenn die Premium-Stufe nicht installiert ist. Das entspricht dem Null-Rückgabeverhalten der Framework-Wrapper-Pakete, sodass Code ohne Container eine konsistente Oberfläche erhält. Details und Hintergründe finden Sie unter /integrations/artisan/boot-and-discovery/.

EinstiegspunktWoDokumentiert in
Document::writeHtmlChrome() (Core-Methode)nextpdf/core/integrations/artisan/quickstart/
Document::setChromeRendererConfig() (Core-Methode)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/

Die Signatur von writeHtmlChrome() lautet (string $html, ?float $width = null, ?float $height = null): static, verifiziert anhand von 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";

Damit ist belegt, dass das Autoloading und die Vertragsbindungen von nextpdf/core aufgelöst werden, ohne Chrome zu starten (Verhalten zugesichert durch tests/Unit/Artisan/ChromeHtmlRendererTest.php::usesDefaultHtmlSecurityPolicyWhenNoneInjected). Den End-to-End-Render-Smoke-Test, der Chrome ausführt, finden Sie unter /integrations/artisan/chrome-renderer-setup/.

  • Rendern Sie Ihr erstes Dokument: /integrations/artisan/quickstart/
  • Alle Konfigurationsoptionen: /integrations/artisan/configuration/
  • Chrome / Container bereitstellen: /integrations/artisan/chrome-renderer-setup/
  • Das Transport- und Isolationsmodell: /integrations/artisan/security-and-operations/
  • Produktiv-Verdrahtung und Batch-Worker: /integrations/artisan/production-usage/
  • Einen Fehler diagnostizieren: /integrations/artisan/troubleshooting/
  • Wie das Paket bootet: /integrations/artisan/boot-and-discovery/

Die Brücke ist als Open Source voll funktionsfähig. Die Premium-Stufen ergänzen das E-Invoice-Embedding (Pro) und die Validierung (Enterprise) auf Basis des gerenderten PDF. Fehlen sie, fällt EInvoiceServiceFactory auf null zurück, sodass Sie Integrationscode einmal schreiben und ihn mit oder ohne Premium ausführen können.

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