Livro de receitas em PHP
Livro de receitas em PHP
Seção intitulada “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.
Como um link de receita é resolvido
Seção intitulada “Como um link de receita é resolvido”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.
Perfil de reprodutibilidade, em uma linha
Seção intitulada “Perfil de reprodutibilidade, em uma linha”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
/IDdo 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.
Receitas já sendo agregadas
Seção intitulada “Receitas já sendo agregadas”O repositório core já contém e integra estas cinco receitas hoje: o conjunto da Wave 8.
| Receita | O que ela faz | Módulo | Perfil |
|---|---|---|---|
sign-pades (planejado no upstream) | Aplica uma assinatura CMS/PAdES baseline com uma chave de software | Security | semantic |
encrypt-aes256 (planejado no upstream) | Criptografa com AES-256 e define as flags de permissão | Security | structural |
pdfa4-conformance-gate (planejado no upstream) | Produz saída PDF/A-4 e impõe uma trava de validação com um validador externo | Conformance | semantic |
accessible-pdfua2-from-html (planejado no upstream) | Emite estrutura marcada para criar PDF/UA-2 acessível | Accessibility | semantic |
validate-signature (planejado no upstream) | Inspeciona se um PDF contém uma assinatura e qual é o limite de confiança | Inspect | semantic |
Fundamentos
Seção intitulada “Fundamentos”Construa, pagine e estilize um documento.
| Receita | O que ela faz | Módulo | Perfil |
|---|---|---|---|
render-html-to-pdf (planejado no upstream) | Renderiza um documento HTML para PDF | Html | structural |
style-with-css (planejado no upstream) | Aplica CSS a uma renderização HTML | Html | structural |
html-table-layout (planejado no upstream) | Define o layout de uma tabela HTML | Html | structural |
paginate-long-html (planejado no upstream) | Pagina um documento HTML longo | Html | structural |
compose-text-and-fonts (planejado no upstream) | Compõe texto com controle tipográfico | Typography | structural |
embed-and-subset-fonts (planejado no upstream) | Incorpora fontes e gera subconjuntos | Font | structural |
cjk-vertical-writing (planejado no upstream) | Dispõe texto CJK no modo de escrita vertical | Typography | structural |
multi-page-document (planejado no upstream) | Constrói um documento com várias páginas | Document | structural |
headers-and-footers (planejado no upstream) | Adiciona cabeçalhos e rodapés correntes | Layout | structural |
Gráficos e conteúdo
Seção intitulada “Gráficos e conteúdo”Trabalhe com vetores, imagens, camadas e espaço de coordenadas.
| Receita | O que ela faz | Módulo | Perfil |
|---|---|---|---|
draw-vector-graphics (planejado no upstream) | Desenha gráficos vetoriais | Graphics | structural |
gradients-and-transparency (planejado no upstream) | Aplica gradientes e transparência | Graphics | structural |
embed-images (planejado no upstream) | Incorpora imagens raster | Content | structural |
optional-content-layers (planejado no upstream) | Usa conteúdo opcional (camadas) | Graphics | structural |
transform-coordinate-space (planejado no upstream) | Transforma o espaço de coordenadas | Graphics | structural |
Navegação e formulários
Seção intitulada “Navegação e formulários”Adicione marcadores, links, anotações e campos de AcroForm.
| Receita | O que ela faz | Módulo | Perfil |
|---|---|---|---|
bookmarks-and-toc (planejado no upstream) | Constrói marcadores e um sumário | Navigation | structural |
links-and-annotations (planejado no upstream) | Adiciona links e anotações | Navigation | structural |
generate-barcodes (planejado no upstream) | Gera códigos de barras | Barcode | bitwise |
fill-pdf-form (planejado no upstream) | Preenche um AcroForm | Form | structural |
flatten-form-fields (planejado no upstream) | Achata os campos de formulário | Form | structural |
Informações do documento
Seção intitulada “Informações do documento”Defina metadados e o comportamento do visualizador.
| Receita | O que ela faz | Módulo | Perfil |
|---|---|---|---|
set-document-metadata (planejado no upstream) | Define os metadados do documento | Metadata | structural |
set-viewer-preferences (planejado no upstream) | Define as preferências do visualizador | Document | structural |
Segurança, assinatura e conformidade
Seção intitulada “Segurança, assinatura e conformidade”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.
| Receita | O que ela faz | Módulo | Perfil |
|---|---|---|---|
encrypt-with-permissions (planejado no upstream) | Criptografa com flags de permissão | Security | structural |
sign-pades-b-b (planejado no upstream) | Aplica uma assinatura PAdES (B-B e B-T) | Security | semantic |
inspect-existing-signature (planejado no upstream) | Inspeciona uma assinatura existente | Inspect | semantic |
tagged-pdf-ua2 (planejado no upstream) | Emite estrutura marcada para PDF/UA-2 | Accessibility | semantic |
pdf-a-4-output (planejado no upstream) | Produz saída PDF/A-4 | Conformance | semantic |
validate-conformance (planejado no upstream) | Valida em relação a um perfil de conformidade | Compliance | semantic |
Inspeção e extração
Seção intitulada “Inspeção e extração”Leia de volta o conteúdo e a estrutura a partir de um PDF.
| Receita | O que ela faz | Módulo | Perfil |
|---|---|---|---|
extract-text-content (planejado no upstream) | Extrai conteúdo de texto | Text | semantic |
parse-and-inspect-pdf (planejado no upstream) | Analisa e inspeciona um PDF | Inspect | semantic |
inspect-layout-boxes (planejado no upstream) | Inspeciona caixas de layout | Inspect | semantic |
Transversais
Seção intitulada “Transversais”Use padrões que abrangem vários módulos.
| Receita | O que ela faz | Abrange | Perfil |
|---|---|---|---|
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 · Support | semantic |
exception-aware-error-handling (planejado no upstream) | Trata erros com a hierarquia de exceções do NextPDF | Exception · Contracts | structural |
observe-with-opentelemetry (planejado no upstream) | Observa a renderização com OpenTelemetry | Observability · Telemetry · Event | semantic |
Receitas pendentes de um exemplo executável
Seção intitulada “Receitas pendentes de um exemplo executável”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.
Veja também
Seção intitulada “Veja também”- Livro de receitas de integração — o índice de integração por framework, renderizador e serviço.
- Convenções de receita — o contrato seguido por toda receita executável deste livro de receitas.