Pular para o conteúdo

Integração do NextPDF Artisan

nextpdf/artisan é uma biblioteca, não um plugin de framework. Para integrá-la, instale-a, associe um ChromeRendererConfig a um documento NextPDF e chame writeHtmlChrome(). Use esta página para encontrar o restante da documentação do Artisan.

Terminal window
composer require nextpdf/artisan

Para ver a matriz completa de requisitos e a dependência externa do Chrome, consulte /integrations/artisan/install/.

O Artisan não fornece service provider, bundle nem manifesto de descoberta automática de framework. É uma biblioteca PHP Standard Recommendation 4 (PSR-4) simples (NextPDF\Artisan\, NextPDF\Parser\) que você consome diretamente. Não há etapa de descoberta. O ponto de entrada é o método writeHtmlChrome(), que o nextpdf/core expõe em Document depois que as classes da ponte estão disponíveis no autoload. Para o modelo de descoberta e bootstrap, consulte /integrations/artisan/boot-and-discovery/.

Não há integração de container para publicar. Em ambientes sem um container de injeção de dependências, EInvoiceServiceFactory fornece métodos de fábrica estáticos (makeEmbedder, makeValidator, makeDefaultProfile, makeSchematronRunner). Esses métodos retornam implementações de contrato de e-invoice do Premium ou null quando o tier Premium não está instalado. Isso reproduz o comportamento de retorno null dos pacotes wrapper de framework, de modo que o código sem um container use a mesma superfície. Para detalhes e justificativa, consulte /integrations/artisan/boot-and-discovery/.

Ponto de entradaOndeDocumentado em
Document::writeHtmlChrome() (método do core)nextpdf/core/integrations/artisan/quickstart/
Document::setChromeRendererConfig() (método do 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/

A assinatura de writeHtmlChrome() é (string $html, ?float $width = null, ?float $height = null): static, conforme verificado em 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";

Isso confirma que o autoload e os bindings de contrato do nextpdf/core são resolvidos sem iniciar o Chrome (comportamento assegurado por tests/Unit/Artisan/ChromeHtmlRendererTest.php::usesDefaultHtmlSecurityPolicyWhenNoneInjected). Para o teste de fumaça de renderização de ponta a ponta que executa o Chrome, consulte /integrations/artisan/chrome-renderer-setup/.

  • Renderize seu primeiro documento: /integrations/artisan/quickstart/
  • Todas as opções de configuração: /integrations/artisan/configuration/
  • Provisione o Chrome / containers: /integrations/artisan/chrome-renderer-setup/
  • Modelo de transporte e isolamento: /integrations/artisan/security-and-operations/
  • Configuração de produção e workers em lote: /integrations/artisan/production-usage/
  • Diagnostique uma falha: /integrations/artisan/troubleshooting/
  • Como o pacote é inicializado: /integrations/artisan/boot-and-discovery/

A ponte é um software de código aberto totalmente funcional. Os tiers Premium adicionam incorporação de e-invoice (Pro) e validação (Enterprise) sobre o arquivo Portable Document Format (PDF) renderizado. Quando eles estão ausentes, EInvoiceServiceFactory faz fallback para null, de modo que você pode escrever o código de integração uma vez e executá-lo com ou sem o Premium.

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