Przejdź do głównej zawartości

Integracja z NextPDF Artisan

nextpdf/artisan to biblioteka, a nie wtyczka frameworka. Aby ją zintegrować, zainstaluj pakiet, ustaw ChromeRendererConfig w dokumencie NextPDF i wywołaj writeHtmlChrome(). Ta strona pomaga znaleźć pozostałą dokumentację Artisan.

Okno terminala
composer require nextpdf/artisan

Pełną macierz wymagań oraz informacje o zewnętrznej zależności Chrome znajdziesz na stronie /integrations/artisan/install/.

Artisan nie dostarcza żadnego dostawcy usług, bundle’a ani manifestu automatycznego wykrywania przez framework. To zwykła biblioteka zgodna z PHP Standard Recommendation 4 (PSR-4) (NextPDF\Artisan\, NextPDF\Parser\), z której korzystasz bezpośrednio. Nie ma tu nic do wykrycia. Punktem wejścia jest metoda writeHtmlChrome(), udostępniana przez nextpdf/core w Document, gdy tylko klasy mostka są dostępne dla autoloadera. Model rozruchu i wykrywania opisano na stronie /integrations/artisan/boot-and-discovery/.

Nie ma żadnej integracji z kontenerem, którą trzeba opublikować. W środowiskach bez kontenera wstrzykiwania zależności EInvoiceServiceFactory udostępnia statyczne metody fabryczne (makeEmbedder, makeValidator, makeDefaultProfile, makeSchematronRunner). Metody te zwracają implementacje kontraktów e-faktur z wersji Premium albo null, gdy edycja Premium nie jest zainstalowana. Odpowiada to zachowaniu pakietów opakowujących frameworki, które zwracają null, więc kod bez kontenera korzysta z tej samej powierzchni API. Szczegóły i uzasadnienie znajdziesz na stronie /integrations/artisan/boot-and-discovery/.

Punkt wejściaGdzieUdokumentowano w
Document::writeHtmlChrome() (metoda rdzenia)nextpdf/core/integrations/artisan/quickstart/
Document::setChromeRendererConfig() (metoda rdzenia)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/

Sygnatura writeHtmlChrome() ma postać (string $html, ?float $width = null, ?float $height = null): static, co potwierdzono na podstawie 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";

Potwierdza to, że autoloading oraz powiązania kontraktów nextpdf/core działają bez uruchamiania Chrome (zachowanie potwierdzone przez tests/Unit/Artisan/ChromeHtmlRendererTest.php::usesDefaultHtmlSecurityPolicyWhenNoneInjected). Kompleksowy test dymny renderowania, który uruchamia Chrome, opisano na stronie /integrations/artisan/chrome-renderer-setup/.

  • Wyrenderuj pierwszy dokument: /integrations/artisan/quickstart/
  • Wszystkie opcje konfiguracji: /integrations/artisan/configuration/
  • Przygotuj Chrome / kontenery: /integrations/artisan/chrome-renderer-setup/
  • Model transportu i izolacji: /integrations/artisan/security-and-operations/
  • Konfiguracja produkcyjna i wsadowe procesy robocze: /integrations/artisan/production-usage/
  • Zdiagnozuj awarię: /integrations/artisan/troubleshooting/
  • Jak uruchamia się pakiet: /integrations/artisan/boot-and-discovery/

Mostek to w pełni funkcjonalne oprogramowanie open source. Edycje Premium dodają osadzanie e-faktur (Pro) oraz walidację (Enterprise) dla wyrenderowanego pliku w formacie Portable Document Format (PDF). Gdy ich brak, EInvoiceServiceFactory zwraca null, dzięki czemu kod integracyjny piszesz raz i uruchamiasz z edycją Premium lub bez niej.

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