Pular para o conteúdo

Instale o bundle Symfony do NextPDF

Instale o bundle com o Composer. Se a aplicação usa o Symfony Flex, o bundle é registrado automaticamente. Sem o Flex, registre-o uma vez em config/bundles.php.

O composer.json do bundle define estas restrições.

DependênciaRestrição
php>=8.4 <9.0
nextpdf/core^3.0 || ^5.2
symfony/framework-bundle^7.2
symfony/dependency-injection^7.2
symfony/config^7.2
symfony/http-foundation^7.2
psr/log^3.0

O bundle também verifica duas extensões do PHP no momento da construção do container: ext-mbstring e ext-zlib. Todo runtime do PHP compatível habilita ambas. Se qualquer uma das extensões estiver ausente, a verificação falha imediatamente com uma mensagem clara.

O composer.json do bundle declara estes pacotes em suggest. Adicione-os quando precisar do comportamento que oferecem:

PacoteAdiciona
nextpdf/artisanRenderização de HTML via Chrome CDP, detectada automaticamente no momento da compilação
nextpdf/premiumArquivamento PDF/A e assinatura digital (instala o nível Pro), detectados automaticamente no momento da compilação
symfony/messengerGeração assíncrona de PDF por meio do handler do Messenger
Terminal window
composer require nextpdf/symfony

O bundle é carregado automaticamente sob o prefixo PHP Standard Recommendation 4 (PSR-4) NextPDF\Symfony\, mapeado para src/Symfony/. Esse mapeamento é declarado em composer.jsonautoload.psr-4. O autoloader gerado pelo Composer mapeia o prefixo de namespace para esse diretório base, conforme define o PSR-4 §2.

O bundle inclui uma indicação de registro automático dentro do composer.json:

{
"extra": {
"symfony": {
"bundles": {
"NextPDF\\Symfony\\NextPdfBundle": "all"
}
}
}
}

Em uma aplicação com o Flex habilitado, essa entrada adiciona o bundle ao config/bundles.php para todos os ambientes (all). Você não precisa editar o arquivo manualmente. Para o modelo de registro, consulte a documentação oficial de bundles do Symfony (https://symfony.com/doc/current/bundles.html).

Se a aplicação não usa o Symfony Flex, adicione você mesmo o bundle ao config/bundles.php:

return [
// ... other bundles
NextPDF\Symfony\NextPdfBundle::class => ['all' => true],
];

A classe do bundle é NextPDF\Symfony\NextPdfBundle. Ela estende a classe base Symfony\Component\HttpKernel\Bundle\Bundle do Symfony. O método getPath() do bundle retorna a raiz do pacote. O método build() registra o compiler pass OptionalExtensionPass.

O alias de configuração do bundle é nextpdf. Crie config/packages/nextpdf.yaml. Quando publicada, uma receita do Flex adiciona uma cópia padrão aqui para você. Um arquivo mínimo que depende inteiramente dos padrões internos tem a seguinte aparência:

nextpdf: ~

Toda chave tem um valor padrão; portanto, uma configuração vazia é válida. A página /integrations/symfony/configuration/ documenta a árvore de configuração completa.

Confirme que o container consegue ver os serviços do bundle:

Terminal window
php bin/console debug:container nextpdf

Você deve ver serviços que incluem o alias nextpdf.document e NextPDF\Symfony\Service\PdfFactory. Para inspecionar a configuração resolvida, execute:

Terminal window
php bin/console debug:config nextpdf

Isso imprime a árvore de configuração mesclada: as suas substituições mais os padrões.

  • Faixa de restrição do core — o bundle aceita nextpdf/core^3.0 || ^5.2. O Composer resolve a versão que satisfaz o restante do grafo de dependências. Fixe uma única versão principal no composer.json da aplicação se precisar de uma versão determinística do motor.
  • Verificação de extensão ausente — se php bin/console falhar na inicialização com uma mensagem sobre ext-mbstring ou ext-zlib, habilite a extensão indicada em php.ini. Esse comportamento de falha imediata é intencional, não um defeito do bundle.
  • O Flex não registrou o bundle — limpe o cache do Composer e reinstale. Se você não usa o Flex, siga a etapa manual de config/bundles.php.

Cada linha é uma afirmação normativa feita nesta página, vinculada a um reference_id completo de 64 dígitos hexadecimais do corpus SDO restrito. A procedência está em _sidecars/rag-citations.yaml. A procedência abrange o manifesto do corpus e o transporte de recuperação.

EspecificaçãoCláusulareference_idAfirmação
PSR-4psr_4_autoload#x1.x2.p5Mapeamento de prefixo de namespace do autoloader para diretório
  • /integrations/symfony/overview/ — o que o bundle oferece.
  • /integrations/symfony/configuration/ — árvore de configuração completa e tabela de serviços.
  • /integrations/symfony/quickstart/ — o primeiro controller executável.
  • /integrations/symfony/boot-and-discovery/ — a sequência de descoberta e inicialização em detalhe.