Pular para o conteúdo

Livro de receitas das integrações

O core do NextPDF renderiza Portable Document Format (PDF) 2.0 a partir de PHP. Os nove pacotes de integração conectam esse motor a um framework, a um backend de renderização, a uma base de código legada, a um pipeline de build ou a um serviço de rede. Esta página explica a finalidade de cada integração, lista o nome do pacote e a restrição de versão do core (lida diretamente do composer.json de cada um) e aponta para as receitas específicas de cada integração, que aparecem aqui conforme os repositórios de origem publicam suas árvores docs/public/.

Esta página é um índice; portanto, não faz nenhuma afirmação sobre o comportamento de qualquer integração. Cada repositório de integração é responsável pelas próprias receitas. O agregador traz essas receitas para este site. Até que uma receita seja disponibilizada, seu link aponta para um espaço reservado. Para uma recomendação orientada por caso de uso, leia Escolha uma integração. Para conhecer o contrato que toda receita executável segue, leia Convenções de receitas.

Os nove pacotes se dividem em cinco formatos. Cada formato indica o tipo de problema que a integração resolve.

  • Integrações de framework conectam o NextPDF ao container de serviços e ao ciclo de vida das requisições de um framework de aplicação: nextpdf/laravel, nextpdf/symfony, nextpdf/codeigniter. Você instala o pacote, resolve um serviço e retorna uma resposta em PDF.
  • Pontes de renderizador enviam a etapa de HTML-para-PDF ou de Office-para-PDF para um backend de renderização externo, em vez de executá-la no pipeline em processo: nextpdf/artisan (Chrome headless sobre o Chrome DevTools Protocol), nextpdf/gotenberg (um microsserviço Gotenberg), nextpdf/cloudflare (Cloudflare Browser Rendering na edge).
  • Um shim de compatibilidade permite que uma base de código escrita para uma biblioteca de PDF legada chame o NextPDF antes que você a reescreva: nextpdf/compat-legacy.
  • Uma ferramenta de build produz um backport do NextPDF para PHP 8.1 / 7.4, destinado a runtimes que não conseguem executar a 8.4: nextpdf/backport-builder.
  • Um serviço de rede expõe o NextPDF via Representational State Transfer (REST), gRPC e Model Context Protocol para sistemas de IA e chamadores remotos: nextpdf/server (distribuído como NextPDF Connect).

As pontes de renderizador que falam Hypertext Transfer Protocol (HTTP) (nextpdf/gotenberg, nextpdf/cloudflare e o caminho de cliente HTTP em nextpdf/laravel) dependem de um cliente HTTP PHP Standard Recommendation 18 (PSR-18) fornecido pela aplicação host. De acordo com a PSR-18 §4, o cliente lança uma exceção de cliente tipada apenas quando não consegue enviar a requisição de modo algum. Uma resposta HTTP 4xx ou 5xx é um valor de retorno normal, não uma exceção, conforme a mesma cláusula PSR-18 §4. Receitas que chamam um renderizador remoto tratam erros de transporte e status de insucesso como casos separados.

Referência de pacote e restrição de versão do core

Seção intitulada “Referência de pacote e restrição de versão do core”

Todos os valores abaixo vêm do composer.json do pacote indicado (a fonte autoritativa). A restrição de versão do core é o requisito de nextpdf/core declarado pelo pacote. O nextpdf/backport-builder não declara nenhum requisito de nextpdf/core porque transforma o código-fonte do motor, em vez de depender dele em tempo de execução.

IntegraçãoPacoteFormatoRestrição de coreReceita
Laravelnextpdf/laravelFramework^3.0 || ^5.2Guia de início rápido do Laravel [[/integrations/laravel/quickstart/]]
Symfonynextpdf/symfonyFramework^3.0 || ^5.2Guia de início rápido do Symfony [[/integrations/symfony/quickstart/]]
CodeIgniter 4nextpdf/codeigniterFramework^3.0 || ^5.2Guia de início rápido do CodeIgniter [[/integrations/codeigniter/quickstart/]]
Artisan (Chrome)nextpdf/artisanPonte de renderizador^3.0 || ^5.2Guia de início rápido do Artisan [[/integrations/artisan/quickstart/]]
Gotenbergnextpdf/gotenbergPonte de renderizador^3.0Guia de início rápido do Gotenberg [[/integrations/gotenberg/quickstart/]]
Cloudflarenextpdf/cloudflarePonte de renderizador^3.0Guia de início rápido do Cloudflare [[/integrations/cloudflare/quickstart/]]
Compat (legado)nextpdf/compat-legacyShim de compatibilidade^3.0Guia de início rápido do Compat-legacy [[/integrations/compat-legacy/quickstart/]]
Backport buildernextpdf/backport-builderFerramenta de buildnão se aplicaGuia de início rápido do Backport [[/integrations/backport/quickstart/]]
Connect (server)nextpdf/serverServiço de rede^3.0Guia de início rápido do Connect [[/integrations/connect/quickstart/]]

O NextPDF distribui o nextpdf/server sob o nome de produto NextPDF Connect; as receitas desse pacote ficam sob o slug connect. O nextpdf/compat-legacy faz parte da família compat; as receitas dele ficam sob o slug compat-legacy.

Todo pacote requer PHP >=8.4 <9.0 no próprio runtime. O nextpdf/backport-builder existe para produzir artefatos que rodam em PHP 8.1 (e um alvo 7.4). O motor resultante com backport, não o builder, é o que roda no runtime mais antigo.

  • nextpdf/laravel — um service provider, uma facade e helpers de resposta em PDF para Laravel 12. Use-o quando a aplicação for um app Laravel e você quiser resolver o NextPDF pelo container e retorná-lo como uma resposta HTTP sem configuração manual. Receita: [[/integrations/laravel/quickstart/]].
  • nextpdf/symfony — um bundle para Symfony 7 com serviços de injeção de dependência e helpers de resposta em PDF. Use-o quando a aplicação for um app Symfony. O bundle registra o motor como um serviço e se integra às respostas do symfony/http-foundation. Receita: [[/integrations/symfony/quickstart/]].
  • nextpdf/codeigniter — um serviço, um wrapper de biblioteca e helpers de resposta em PDF para CodeIgniter 4. Use-o quando a aplicação for um app CodeIgniter 4 e você quiser deixar o NextPDF disponível pelo service locator do framework. Receita: [[/integrations/codeigniter/quickstart/]].
  • nextpdf/artisan — um renderizador com Chrome headless sobre o Chrome DevTools Protocol. Use-o quando um documento precisar do motor de Cascading Style Sheets (CSS) de um navegador para alcançar uma fidelidade de layout que o pipeline de HTML em processo não pretende oferecer, e quando você puder executar um processo do Chrome próximo à aplicação. Receita: [[/integrations/artisan/quickstart/]].
  • nextpdf/gotenberg — conversão de Office-para-PDF e HTML-para-PDF por meio de um microsserviço Gotenberg. Use-o quando a entrada for um documento do Office ou quando a renderização precisar rodar fora do processo, em um serviço separado. Ele se comunica por HTTP por meio de um cliente PSR-18 fornecido pelo host. Receita: [[/integrations/gotenberg/quickstart/]].
  • nextpdf/cloudflare — renderização serverless por meio da API Cloudflare Browser Rendering. Use-o quando a renderização precisar rodar na edge, sem operar nenhum processo de navegador de longa duração. Ele se comunica por HTTP por meio de um cliente PSR-18 fornecido pelo host. Receita: [[/integrations/cloudflare/quickstart/]].
  • nextpdf/compat-legacy — uma camada de compatibilidade para bases de código escritas para uma biblioteca de PDF legada. Use-o para chamar o NextPDF a partir de código existente antes de você reescrever os pontos de chamada. É um auxílio de migração, não uma dependência permanente. Receita: [[/integrations/compat-legacy/quickstart/]].
  • nextpdf/backport-builder — um pipeline de downgrade baseado em Rector que produz um build do NextPDF para PHP 8.1 (e um alvo 7.4). Use-o quando um runtime não puder migrar para o PHP 8.4 e você ainda precisar do motor nesse ambiente. É infraestrutura de build, não uma dependência de runtime de uma aplicação. Receita: [[/integrations/backport/quickstart/]].
  • nextpdf/server (NextPDF Connect) — expõe o NextPDF por meio de uma API REST, um serviço gRPC e o Model Context Protocol. Use-o quando os chamadores forem remotos, usarem outra linguagem ou forem sistemas de IA que precisam de um endpoint de ferramenta em vez de uma biblioteca PHP. Receita: [[/integrations/connect/quickstart/]].

Cada espaço reservado [[…]] acima é uma referência prospectiva a uma página criada no repositório da integração sob docs/public/ e trazida para este site pelo agregador. Os slugs de destino seguem esta convenção:

/integrations/<integration>/<recipe>/

O token <integration> é o nome curto extraído diretamente da tabela de referência de pacote e restrição de versão do core acima. Cada linha dessa tabela fornece um nome curto. A primeira receita que toda integração publica se chama quickstart; receitas posteriores usam segmentos <recipe> adicionais sob a mesma raiz <integration>. Até que uma página de destino seja agregada, seu link continua sendo um espaço reservado e não é resolvido. Este índice não faz nenhuma afirmação sobre o comportamento de qualquer página de destino. Ele registra apenas os fatos do pacote verificados a partir do composer.json e o slug que as receitas de cada repositório ocuparão.