Instale o bundle Symfony do NextPDF
Visão geral
Seção intitulada “Visão geral”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.
Requisitos
Seção intitulada “Requisitos”O composer.json do bundle define estas restrições.
| Dependência | Restriçã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.
Pacotes opcionais
Seção intitulada “Pacotes opcionais”O composer.json do bundle declara estes pacotes em suggest. Adicione-os quando precisar do comportamento que oferecem:
| Pacote | Adiciona |
|---|---|
nextpdf/artisan | Renderização de HTML via Chrome CDP, detectada automaticamente no momento da compilação |
nextpdf/premium | Arquivamento PDF/A e assinatura digital (instala o nível Pro), detectados automaticamente no momento da compilação |
symfony/messenger | Geração assíncrona de PDF por meio do handler do Messenger |
Instale com o Composer
Seção intitulada “Instale com o Composer”composer require nextpdf/symfonyO 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.
Registre o bundle
Seção intitulada “Registre o bundle”Symfony Flex (recomendado)
Seção intitulada “Symfony Flex (recomendado)”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).
Registro manual (sem o Flex)
Seção intitulada “Registro manual (sem o Flex)”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.
Forneça o arquivo de configuração
Seção intitulada “Forneça o arquivo de configuração”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.
Verifique a instalação
Seção intitulada “Verifique a instalação”Confirme que o container consegue ver os serviços do bundle:
php bin/console debug:container nextpdfVocê deve ver serviços que incluem o alias nextpdf.document e NextPDF\Symfony\Service\PdfFactory. Para inspecionar a configuração resolvida, execute:
php bin/console debug:config nextpdfIsso imprime a árvore de configuração mesclada: as suas substituições mais os padrões.
Casos extremos e armadilhas
Seção intitulada “Casos extremos e armadilhas”- 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 nocomposer.jsonda aplicação se precisar de uma versão determinística do motor. - Verificação de extensão ausente — se
php bin/consolefalhar na inicialização com uma mensagem sobreext-mbstringouext-zlib, habilite a extensão indicada emphp.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.
Conformidade
Seção intitulada “Conformidade”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ção | Cláusula | reference_id | Afirmação |
|---|---|---|---|
| PSR-4 | psr_4_autoload#x1.x2.p5 | Mapeamento de prefixo de namespace do autoloader para diretório |
Veja também
Seção intitulada “Veja também”- /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.