Pular para o conteúdo

Livro de receitas em PHP

Este índice lista as receitas PHP nativas do NextPDF: páginas executáveis e focadas em tarefas, escritas diretamente sobre a API PHP do core. O repositório core nextpdf é responsável por cada receita e a verifica em docs/public/cookbook/php/. Cada receita tem um script examples/*.php e um teste de harness em tests/Cookbook/Php/. Em seguida, o agregador traz cada página para este site e preserva a procedência de origem.

Como esta página é um índice, ela não afirma como nenhuma receita se comporta. Cada linha registra a intenção da receita, o módulo do core usado por ela e o perfil de reprodutibilidade declarado. O perfil e qualquer afirmação de conformidade pertencem à própria página da receita. Esses dados vêm do front-matter daquela página e do teste no repositório, não deste índice. Para o livro de receitas de integração (framework / renderizador / serviço), consulte Livro de receitas de integração. Para o contrato seguido por toda receita executável, consulte Convenções de receita.

Cada [[…]] abaixo é uma referência futura a uma página escrita no repositório core, em docs/public/cookbook/php/. O agregador então traz essa página para este site. Cada slug segue uma convenção: um único segmento.

/cookbook/php/<recipe>/

<recipe> nomeia a intenção da receita em kebab-case (por exemplo render-html-to-pdf, não o nome do módulo html). Ele fica em minúsculas, separado por hifens, não tem números de versão e termina com uma única barra final. Enquanto uma página de destino não tiver sido agregada, o link é um espaço reservado e não é resolvido. Uma receita que ainda não tem exemplo executável (a lista de lacunas abaixo) não pode ser publicada até que o exemplo e o teste de harness existam, embora o link já aponte para o slug final.

Cada receita declara o perfil mais rigoroso que consegue satisfazer honestamente:

  • bitwise — idêntico byte a byte entre execuções (conteúdo determinístico simples, com toda a entropia fixada).
  • structural — idêntico após normalizar átomos voláteis (o /ID do trailer, datas de criação/modificação, prefixos de subconjunto de fonte — na prática, todo PDF com múltiplos objetos).
  • semantic — apenas equivalência de AST estrutural mais metadados (saída assinada ou com carimbo de tempo, ou saída cuja equivalência inerentemente não é estável byte a byte).

A página da receita comprova o perfil com o teste de harness. Este índice apenas informa o valor que aquela página declara.

O repositório core já contém e integra estas cinco receitas hoje: o conjunto da Wave 8.

ReceitaO que ela fazMóduloPerfil
sign-pades (planejado no upstream)Aplica uma assinatura CMS/PAdES baseline com uma chave de softwareSecuritysemantic
encrypt-aes256 (planejado no upstream)Criptografa com AES-256 e define as flags de permissãoSecuritystructural
pdfa4-conformance-gate (planejado no upstream)Produz saída PDF/A-4 e impõe uma trava de validação com um validador externoConformancesemantic
accessible-pdfua2-from-html (planejado no upstream)Emite estrutura marcada para criar PDF/UA-2 acessívelAccessibilitysemantic
validate-signature (planejado no upstream)Inspeciona se um PDF contém uma assinatura e qual é o limite de confiançaInspectsemantic

Construa, pagine e estilize um documento.

ReceitaO que ela fazMóduloPerfil
render-html-to-pdf (planejado no upstream)Renderiza um documento HTML para PDFHtmlstructural
style-with-css (planejado no upstream)Aplica CSS a uma renderização HTMLHtmlstructural
html-table-layout (planejado no upstream)Define o layout de uma tabela HTMLHtmlstructural
paginate-long-html (planejado no upstream)Pagina um documento HTML longoHtmlstructural
compose-text-and-fonts (planejado no upstream)Compõe texto com controle tipográficoTypographystructural
embed-and-subset-fonts (planejado no upstream)Incorpora fontes e gera subconjuntosFontstructural
cjk-vertical-writing (planejado no upstream)Dispõe texto CJK no modo de escrita verticalTypographystructural
multi-page-document (planejado no upstream)Constrói um documento com várias páginasDocumentstructural
headers-and-footers (planejado no upstream)Adiciona cabeçalhos e rodapés correntesLayoutstructural

Trabalhe com vetores, imagens, camadas e espaço de coordenadas.

ReceitaO que ela fazMóduloPerfil
draw-vector-graphics (planejado no upstream)Desenha gráficos vetoriaisGraphicsstructural
gradients-and-transparency (planejado no upstream)Aplica gradientes e transparênciaGraphicsstructural
embed-images (planejado no upstream)Incorpora imagens rasterContentstructural
optional-content-layers (planejado no upstream)Usa conteúdo opcional (camadas)Graphicsstructural
transform-coordinate-space (planejado no upstream)Transforma o espaço de coordenadasGraphicsstructural

Adicione marcadores, links, anotações e campos de AcroForm.

ReceitaO que ela fazMóduloPerfil
bookmarks-and-toc (planejado no upstream)Constrói marcadores e um sumárioNavigationstructural
links-and-annotations (planejado no upstream)Adiciona links e anotaçõesNavigationstructural
generate-barcodes (planejado no upstream)Gera códigos de barrasBarcodebitwise
fill-pdf-form (planejado no upstream)Preenche um AcroFormFormstructural
flatten-form-fields (planejado no upstream)Achata os campos de formulárioFormstructural

Defina metadados e o comportamento do visualizador.

ReceitaO que ela fazMóduloPerfil
set-document-metadata (planejado no upstream)Define os metadados do documentoMetadatastructural
set-viewer-preferences (planejado no upstream)Define as preferências do visualizadorDocumentstructural

Use criptografia, assinatura, acessibilidade e saída aderente a perfil. Estas receitas mantêm, na página da receita, os limites entre suporte≠conformidade e presença≠validade.

ReceitaO que ela fazMóduloPerfil
encrypt-with-permissions (planejado no upstream)Criptografa com flags de permissãoSecuritystructural
sign-pades-b-b (planejado no upstream)Aplica uma assinatura PAdES (B-B e B-T)Securitysemantic
inspect-existing-signature (planejado no upstream)Inspeciona uma assinatura existenteInspectsemantic
tagged-pdf-ua2 (planejado no upstream)Emite estrutura marcada para PDF/UA-2Accessibilitysemantic
pdf-a-4-output (planejado no upstream)Produz saída PDF/A-4Conformancesemantic
validate-conformance (planejado no upstream)Valida em relação a um perfil de conformidadeCompliancesemantic

Leia de volta o conteúdo e a estrutura a partir de um PDF.

ReceitaO que ela fazMóduloPerfil
extract-text-content (planejado no upstream)Extrai conteúdo de textoTextsemantic
parse-and-inspect-pdf (planejado no upstream)Analisa e inspeciona um PDFInspectsemantic
inspect-layout-boxes (planejado no upstream)Inspeciona caixas de layoutInspectsemantic

Use padrões que abrangem vários módulos.

ReceitaO que ela fazAbrangePerfil
worker-safe-batch-rendering (planejado no upstream)Renderiza com segurança em um worker de longa duração (registros compartilhados, memória limitada)Core · Performance · Supportsemantic
exception-aware-error-handling (planejado no upstream)Trata erros com a hierarquia de exceções do NextPDFException · Contractsstructural
observe-with-opentelemetry (planejado no upstream)Observa a renderização com OpenTelemetryObservability · Telemetry · Eventsemantic

Estas receitas precisam de um novo arquivo examples/*.php e de um harness tests/Cookbook/Php/ no repositório core antes de poderem ser publicadas. O slug acima é final. A página permanece um espaço reservado até o exemplo chegar e o teste rodar:

  • sign-pades-b-b (planejado no upstream) (cobre PAdES B-B e B-T)
  • inspect-existing-signature (planejado no upstream)
  • extract-text-content (planejado no upstream)
  • parse-and-inspect-pdf (planejado no upstream)
  • validate-conformance (planejado no upstream)
  • inspect-layout-boxes (planejado no upstream)
  • worker-safe-batch-rendering (planejado no upstream) (o exemplo existe; novo teste de harness para memória/GC adicionado)
  • observe-with-opentelemetry (planejado no upstream) (novo exemplo PHP nativo adicionado)

Todas as outras receitas acima já têm um arquivo examples/*.php de suporte e precisam apenas de um wrapper de harness. Este índice registra o slug e a futura página. Ele não afirma que qualquer página pendente já esteja completa.