Premium edição
Para líderes de engenharia
Visão geral
Seção intitulada “Visão geral”Você está avaliando uma dependência comercial com a qual sua equipe vai conviver por anos. Esta página responde às perguntas que líderes de engenharia nos fazem antes de comprar: esforço de integração, política de atualização, aprisionamento, entrega, evidência de qualidade e superfícies de escala. Toda afirmação é verificável no código-fonte do produto ou vinculada à página de documentação que é dona dela. O NextPDF não possui nenhuma certificação de terceiros, e nada aqui é uma alegação de conformidade ou certificação.
Este guia abrange as duas edições comerciais — NextPDF Pro (nextpdf/pro) e
NextPDF Enterprise (nextpdf/enterprise); consulte a
matriz de recursos para a disponibilidade por
edição. Ambas são ativadas com um envelope de licença; uma implantação sem o
direito correspondente não carrega as classes premium dessa edição.
Compare as edições e obtenha uma licença.
As edições são cumulativas. O NextPDF Pro inclui tudo o que há no core aberto, e
o NextPDF Enterprise inclui tudo o que há no Pro. Várias superfícies abaixo são
entregues na camada Pro (nextpdf/pro), então o Enterprise também as possui.
O que você está comprando
Seção intitulada “O que você está comprando”A versão de 30 segundos. O NextPDF é um motor PDF 2.0 para PHP moderno; o formato que ele escreve é o especificado pela ISO 32000-2. O motor core é de código aberto sob a Apache License 2.0. O NextPDF Pro e o NextPDF Enterprise são as edições comerciais proprietárias sobre ele — gráficos, códigos de barras avançados, assinatura, ferramentas de conformidade, operações de documento e as superfícies de escala descritas abaixo. Consulte a matriz de recursos completa para a divisão por edição.
Para sua equipe, a compra adquire três coisas. Primeiro, capacidades que seriam caras de construir e manter internamente. Segundo, um padrão de engenharia que você pode inspecionar: PHPStan nível 10, restrições de arquitetura e uma suíte de testes muito grande. Terceiro, um lado negativo limitado — e os três estados de saída são distintos. Uma implantação pelo canal ionCube que fique offline além de sua concessão pausa os recursos premium e retorna ao Core livre e de código aberto até reconectar. Uma assinatura vencida passa por um período de carência até o fallback perpétuo: a versão instalada continua rodando com seu direito premium, sem atualizações adicionais. E uma falha de aplicação nunca inutiliza uma implantação — o pior caso é o comportamento do Core. A mecânica comercial vive em Compra e licenciamento.
As perguntas que mais ouvimos
Seção intitulada “As perguntas que mais ouvimos”“Quanto esforço de integração devo prever no orçamento?”
Um pacote Composer e uma licença. As edições premium são instaladas com
composer require nextpdf/pro ou composer require nextpdf/enterprise conforme
sua edição (o metapacote nextpdf/premium instala ambas) a partir de um
repositório privado, usando credenciais emitidas após a compra. O requisito de
runtime é PHP >=8.4 <9.0. A adoção não exige nenhuma mudança no código da
aplicação: o Premium se conecta por trás dos mesmos contratos públicos que sua
aplicação já usa, como documentado em
Licenciamento e ativação. A configuração é abordada em
Instalar e autenticar.
“O que quebra quando atualizamos?”
Mudanças que quebram compatibilidade existem, e nós as documentamos em vez de
escondê-las. O repositório Premium rastreia cada mudança com impacto de BC em notas
de atualização por release com um caminho de migração, e sua toolchain inclui o
roave/backward-compatibility-check. Algumas quebras são deliberadas: os caminhos
de validação de segurança são apertados para fail-closed em vez de deixados
permissivos, e as notas dizem isso explicitamente. Preveja no orçamento a leitura
das notas de atualização antes de cada release; não preveja desvio silencioso de
comportamento.
“Estamos aprisionados?” A saída é estrutural, não uma boa vontade contratual. O core é Apache-2.0, então sua integração usa contratos que sobrevivem sem uma assinatura. Quando uma assinatura paga termina, há um período de carência e depois um estado de fallback perpétuo: a versão instalada continua rodando, e apenas atualizações e suporte param. Você nunca fica bloqueado de um software que já implantou. Os detalhes estão em Licenciamento e ativação e no modelo de licenciamento.
“Minha equipe pode ler o código que executamos?” Sim, no canal certo. O Premium é entregue de duas formas: codificado em ionCube (o padrão de menor custo) e código-fonte assinado em texto claro — PHP legível, assinado criptograficamente, com preço mais alto. Ambos carregam direitos de licença idênticos, e código legível nunca é permissão para copiar ou redistribuir; o EULA rege ambos. A comparação completa está em Dois canais de entrega.
“Quais sinais de qualidade eu posso realmente verificar?” A base de código Premium é desenvolvida em PHPStan nível 10 com a extensão de regras estritas em todo o código-fonte do Pro e do Enterprise, além de restrições de camada de arquitetura do Deptrac. O repositório carrega mais de 1.500 arquivos de teste entre suítes unitárias, de integração, de conformidade e de compliance, e seus scripts de teste de mutação impõem um mínimo de 95% de pontuação de mutação. Estes são fatos do repositório de desenvolvimento que você pode confirmar no canal de código-fonte assinado — não são auditorias de terceiros nem certificações.
“Quais são as superfícies de desempenho e escala?”
Três, e todas são camadas opcionais em vez de reescritas. O accelerator é um
sidecar em Rust consumido por meio das interfaces de contrato do Core. O
output pipeline (NextPDF\Pro\OutputPipeline\PipelineExecutor) executa
manifestos de documento de várias etapas com resolução de dependências. O
stream engine renderiza lotes concorrentes de forma determinística:
public function renderBatch(array $manifests, array $variablesByJobId = []): arrayO NextPDF\Pro\Stream\Engine\ConcurrentRenderEngine restaura a ordem de entrada,
de modo que os bytes de saída correspondam a uma renderização sequencial
independentemente da concorrência. Ele falha com
NextPDF\Pro\Stream\Exception\RenderEngineException em uma conclusão ausente,
duplicada ou desconhecida — nunca um descarte silencioso. Não publicamos números de
benchmark aqui; faça o benchmark da sua própria carga de trabalho durante o teste.
“O accelerator cria uma dependência rígida de código nativo?” Não. O sidecar é conectividade opcional, e o provider relata a disponibilidade em vez de lançar exceção:
public function isAvailable(): boolpublic function embedding(): EmbeddingServiceInterfacepublic function vectorIndex(string $collectionId = 'default'): VectorIndexInterfaceEsses métodos não declaram nenhum @throws; a acessibilidade do sidecar é relatada
por isAvailable(). Os tipos retornados são interfaces de contrato do Core
(NextPDF\Contracts\EmbeddingServiceInterface,
NextPDF\Contracts\VectorIndexInterface), que é, na prática, a costura sem mudança
de código.
“O que acontece offline ou em ambiente isolado (air-gapped)?” Depende do canal, e este costuma ser o fator decisivo. O canal ionCube verifica sua licença online — aproximadamente uma checagem a cada 7 dias renovando uma concessão de cerca de 14 dias. Offline além da concessão, os recursos premium pausam e o motor retorna ao Core livre, retomando quando a conectividade volta. O canal de código-fonte assinado verifica sua licença localmente e roda totalmente offline, inclusive em ambiente isolado. Consulte Dois canais de entrega.
“O que a verificação de licença envia?” No canal ionCube, uma checagem envia apenas um identificador de licença e um hash de fingerprint com salt — nunca o conteúdo dos seus documentos. Uma implantação de código-fonte assinado totalmente offline não envia absolutamente nada. A superfície de decisão de licença é um único avaliador público que sua equipe de plataforma pode compreender:
public function evaluate(?LicenseKey $license, ?DateTimeImmutable $now = null): EntitlementResultEle não declara nenhum @throws; todo estado de licença, incluindo a ausência total
de licença, mapeia para um EntitlementResult em vez de uma exceção.
“Quem nos dá suporte, e como começamos?” Ajuda de produto e técnica vem do suporte PATEON; cobrança, faturas e reembolsos são tratados pelo nosso Merchant of Record — veja quem contatar. Você pode iniciar um teste gratuito de 14 dias na sua conta, ou solicitar uma concessão de avaliação que roda o conjunto completo de recursos por trás de uma marca d’água removível.
Checklist de requisitos
Seção intitulada “Checklist de requisitos”Um honesto pode e não pode, com a página que é dona de cada fato.
| Seu requisito | O NextPDF atende? | Evidência e responsável |
|---|---|---|
| Runtime PHP moderno | Sim — requer PHP >=8.4 <9.0. Versões anteriores do PHP não são suportadas. | Produto composer.json; Instalar e autenticar |
| Empacotamento padrão | Sim — pacotes Composer privados: nextpdf/pro ou nextpdf/enterprise por edição (nextpdf/premium instala as duas camadas), com credenciais emitidas após a compra. | Compra e licenciamento |
| Adotar sem reescrita | Sim — sem mudança no código da aplicação; o Premium resolve por trás dos contratos do Core que você já chama. | Licenciamento e ativação |
| Padrão de análise estática | Sim — desenvolvido em PHPStan nível 10 com regras estritas em todo o código-fonte do Pro e do Enterprise. | Produto phpstan.neon.dist |
| Disciplina de testes | Sim — mais de 1.500 arquivos de teste; teste de mutação com barreira de 95% de MSI mínimo nos scripts do repositório. | Scripts do composer.json do produto e a árvore de testes |
| Governança de BC | Parcialmente — quebras de BC acontecem e são deliberadas para correções de segurança fail-closed; cada uma é documentada com um caminho de migração. | Produto UPGRADING.md |
| Operação em ambiente isolado (air-gapped) | Sim no código-fonte assinado; o canal ionCube é limitado por sua concessão de ~14 dias. | Dois canais de entrega |
| Código-fonte legível | Sim — apenas no canal de código-fonte assinado, a um preço mais alto; ler não é direito de redistribuição. | Dois canais de entrega, EULA |
| Certificação formal | Não. O NextPDF não possui nenhuma certificação e não concede nenhuma; suporte a um padrão não é conformidade nem certificação. | Esta página; modelo de licenciamento |
| Exigência de aceleração nativa | Não exigido — o sidecar em Rust é opcional; controle por ProAcceleratorProvider::isAvailable(). | Código-fonte do produto, mostrado acima |
Risco e mitigação
Seção intitulada “Risco e mitigação”- Vencimento da concessão ionCube. Uma implantação pelo canal codificado que fique offline além de sua concessão pausa os recursos premium e retorna ao Core, retomando ao reconectar. Se sua postura de rede não puder garantir conectividade periódica, escolha o canal de código-fonte assinado em vez disso.
- Quebras de BC deliberadas. A validação relevante para segurança é apertada para fail-closed entre releases. Fixe versões, leia as notas de atualização antes de cada bump e execute uma checagem de BC no CI. Não trate atualizações como drop-in.
- Sem certificação. Declaramos capacidades, nunca certificação. Se seu programa exige conformidade certificada, valide a saída com suas próprias ferramentas de aceitação antes de confiar nela — nenhuma página de documentação do NextPDF substitui isso.
- O desempenho depende da carga de trabalho. O ionCube Loader adiciona uma sobrecarga de decodificação, geralmente pequena; não publicamos nenhum benchmark universal. Faça o benchmark dos seus próprios documentos durante o teste antes de se comprometer com um canal.
- A saída de avaliação leva marca d’água. As builds de avaliação rodam cada capacidade, mas marcam sua saída de forma visível; elas não são adequadas para entrega em produção. Uma licença paga remove a marca d’água sem mudança de código.
O que solicitar em seguida
Seção intitulada “O que solicitar em seguida”- Inicie um teste. Um teste gratuito de 14 dias está disponível na sua conta — um por e-mail, sem cobrança hoje, e não renova automaticamente. Planeje o requisito do ionCube Loader gratuito nas builds codificadas, inclusive no CI.
- Rode um piloto delimitado. Instale via Composer, integre um fluxo de documento real por trás de seus contratos existentes, execute sua suíte de testes e faça o benchmark da sua carga de trabalho. A avaliação roda o conjunto completo de recursos por trás da marca d’água removível, então nada fica oculto na análise.
- Escolha um canal de entrega. Decida entre codificado em ionCube e código-fonte assinado usando seus requisitos de conectividade e auditoria — veja Dois canais de entrega.
- Solicite seu envelope de licença. A compra passa pelo nosso Merchant of Record; sua licença é concedida pela PATEON sob o EULA. Comece em o portal de licenças.