Lewati ke konten

Integrasi NextPDF Artisan

nextpdf/artisan adalah pustaka, bukan plugin framework. Untuk mengintegrasikannya, pasang pustaka ini, lampirkan ChromeRendererConfig ke dokumen NextPDF, lalu panggil writeHtmlChrome(). Gunakan halaman ini sebagai titik awal untuk menemukan dokumentasi Artisan lainnya.

Terminal window
composer require nextpdf/artisan

Untuk matriks persyaratan lengkap serta dependensi eksternal Chrome, lihat /integrations/artisan/install/.

Artisan tidak menyertakan service provider, bundle, atau manifes auto-discovery framework apa pun. Pustaka ini adalah pustaka PHP Standard Recommendation 4 (PSR-4) biasa (NextPDF\Artisan\, NextPDF\Parser\) yang digunakan secara langsung. Tidak ada yang perlu ditemukan. Titik masuknya adalah metode writeHtmlChrome(), yang diekspos oleh nextpdf/core pada Document setelah kelas-kelas bridge dapat dimuat melalui autoload. Untuk model penemuan dan bootstrap, lihat /integrations/artisan/boot-and-discovery/.

Tidak ada integrasi container yang perlu dipublikasikan. Di lingkungan tanpa container dependency injection, EInvoiceServiceFactory menyediakan metode factory statis (makeEmbedder, makeValidator, makeDefaultProfile, makeSchematronRunner). Metode-metode ini mengembalikan implementasi kontrak e-invoice Premium, atau null ketika tier Premium tidak terpasang. Perilaku ini mencerminkan pengembalian null pada paket wrapper framework, sehingga kode tanpa container tetap menggunakan antarmuka yang sama. Untuk detail dan alasannya, lihat /integrations/artisan/boot-and-discovery/.

Titik masukLokasiDidokumentasikan di
Document::writeHtmlChrome() (metode core)nextpdf/core/integrations/artisan/quickstart/
Document::setChromeRendererConfig() (metode 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/

Tanda tangan writeHtmlChrome() adalah (string $html, ?float $width = null, ?float $height = null): static, sesuai hasil verifikasi terhadap 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";

Smoke test ini membuktikan bahwa autoloading dan binding kontrak nextpdf/core berhasil diselesaikan tanpa menjalankan Chrome (perilaku ini diuji oleh tests/Unit/Artisan/ChromeHtmlRendererTest.php::usesDefaultHtmlSecurityPolicyWhenNoneInjected). Untuk smoke test render end-to-end yang menjalankan Chrome, lihat /integrations/artisan/chrome-renderer-setup/.

  • Render dokumen pertama Anda: /integrations/artisan/quickstart/
  • Semua opsi konfigurasi: /integrations/artisan/configuration/
  • Menyiapkan Chrome / container: /integrations/artisan/chrome-renderer-setup/
  • Model transport dan isolasi: /integrations/artisan/security-and-operations/
  • Integrasi produksi dan worker batch: /integrations/artisan/production-usage/
  • Diagnosis kegagalan: /integrations/artisan/troubleshooting/
  • Cara paket melakukan boot: /integrations/artisan/boot-and-discovery/

Bridge ini adalah perangkat lunak open-source yang berfungsi penuh. Tier Premium menambahkan penyematan e-invoice (Pro) dan validasi (Enterprise) di atas berkas Portable Document Format (PDF) hasil render. Ketika tier tersebut tidak ada, EInvoiceServiceFactory mengembalikan null, sehingga Anda dapat menulis kode integrasi sekali saja dan menjalankannya dengan atau tanpa Premium.

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