Cookbook PHP
Cookbook PHP
Sezione intitolata “Cookbook PHP”Questo indice raccoglie le recipe NextPDF native per PHP — pagine eseguibili, orientate alle attività, basate direttamente sull’API PHP del core. Il repository core nextpdf è responsabile di ogni recipe sotto docs/public/cookbook/php/ e la verifica. Ciascuna è supportata da uno script examples/*.php e da un harness di test tests/Cookbook/Php/. L’aggregatore importa poi ogni pagina in questo sito, mantenendone la provenienza originale.
Poiché questa pagina è un indice, non formula alcuna affermazione sul comportamento di alcuna recipe. Ogni riga riporta l’intento della recipe, il modulo core che esercita e il profilo di riproducibilità dichiarato. Il profilo e qualsiasi affermazione di conformità risiedono nella pagina della recipe stessa e derivano dal front-matter di quella pagina e dal suo test nel repository — non da questo indice. Per il cookbook delle integrazioni (framework / renderer / servizio), vedere Integration cookbook. Per il contratto che ogni recipe eseguibile rispetta, vedere Recipe conventions.
Come si risolve il link a una recipe
Sezione intitolata “Come si risolve il link a una recipe”Ogni [[…]] qui sotto è un riferimento anticipato a una pagina redatta nel repository core sotto docs/public/cookbook/php/, poi importata in questo sito dall’aggregatore. Lo slug segue una sola convenzione: un unico segmento.
/cookbook/php/<recipe>/<recipe> indica l’intento della recipe in kebab-case (per esempio render-html-to-pdf, non il nome del modulo html). È in minuscolo, separato da trattini, privo di numeri di versione e termina con una sola barra finale. Finché una pagina di destinazione non viene aggregata, il suo link resta un segnaposto e non viene risolto. Una recipe priva di un esempio eseguibile (l’elenco delle lacune qui sotto) non può essere pubblicata finché non esistono il suo esempio e il relativo harness di test, anche se il link punta già allo slug definitivo.
Profilo di riproducibilità, in una riga
Sezione intitolata “Profilo di riproducibilità, in una riga”Ogni recipe dichiara il profilo più rigoroso che può soddisfare in modo veritiero:
- bitwise — byte-identico tra le esecuzioni (contenuto puramente deterministico, con tutta l’entropia fissata).
- structural — identico dopo aver normalizzato gli atomi volatili (il
/IDdel trailer, le date di creation/modification, i prefissi dei sottoinsiemi dei font — di fatto ogni PDF multi-oggetto). - semantic — solo equivalenza dell’AST strutturale e dei metadati (output firmato o con marca temporale, oppure output per cui l’equivalenza non è intrinsecamente stabile a livello di byte).
Il profilo è una proprietà che la pagina della recipe dimostra con il proprio harness di test. Questo indice riporta solo il valore dichiarato dalla pagina.
Recipe già in aggregazione
Sezione intitolata “Recipe già in aggregazione”Il repository core contiene già e integra oggi queste cinque recipe — il set della Wave 8.
| Recipe | Cosa fa | Modulo | Profilo |
|---|---|---|---|
sign-pades (pianificato upstream) | Applicare una firma CMS/PAdES baseline con una chiave software | Sicurezza | semantic |
encrypt-aes256 (pianificato upstream) | Cifrare con AES-256 e impostare i flag dei permessi | Sicurezza | structural |
pdfa4-conformance-gate (pianificato upstream) | Produrre output PDF/A-4 e applicare un gate con un validatore esterno | Conformità | semantic |
accessible-pdfua2-from-html (pianificato upstream) | Emettere la struttura taggata per la redazione accessibile in PDF/UA-2 | Accessibilità | semantic |
validate-signature (pianificato upstream) | Verificare se un PDF contiene una firma e individuarne il confine di fiducia | Ispezione | semantic |
Fondamenti
Sezione intitolata “Fondamenti”Costruire un documento, impaginarlo e applicargli uno stile.
| Recipe | Cosa fa | Modulo | Profilo |
|---|---|---|---|
render-html-to-pdf (pianificato upstream) | Eseguire il rendering di un documento HTML in PDF | Html | structural |
style-with-css (pianificato upstream) | Applicare CSS a un rendering HTML | Html | structural |
html-table-layout (pianificato upstream) | Impaginare una tabella HTML | Html | structural |
paginate-long-html (pianificato upstream) | Impaginare un documento HTML lungo | Html | structural |
compose-text-and-fonts (pianificato upstream) | Comporre testo con controllo tipografico | Tipografia | structural |
embed-and-subset-fonts (pianificato upstream) | Incorporare i font e crearne sottoinsiemi | Font | structural |
cjk-vertical-writing (pianificato upstream) | Comporre testo CJK in modalità di scrittura verticale | Tipografia | structural |
multi-page-document (pianificato upstream) | Costruire un documento multipagina | Documento | structural |
headers-and-footers (pianificato upstream) | Aggiungere intestazioni e piè di pagina ricorrenti | Layout | structural |
Grafica e contenuti
Sezione intitolata “Grafica e contenuti”Vettori, immagini, livelli e spazio delle coordinate.
| Recipe | Cosa fa | Modulo | Profilo |
|---|---|---|---|
draw-vector-graphics (pianificato upstream) | Disegnare grafica vettoriale | Grafica | structural |
gradients-and-transparency (pianificato upstream) | Applicare gradienti e trasparenza | Grafica | structural |
embed-images (pianificato upstream) | Incorporare immagini raster | Contenuti | structural |
optional-content-layers (pianificato upstream) | Usare contenuti opzionali (livelli) | Grafica | structural |
transform-coordinate-space (pianificato upstream) | Trasformare lo spazio delle coordinate | Grafica | structural |
Navigazione e moduli
Sezione intitolata “Navigazione e moduli”Segnalibri, link, annotazioni e campi AcroForm.
| Recipe | Cosa fa | Modulo | Profilo |
|---|---|---|---|
bookmarks-and-toc (pianificato upstream) | Costruire segnalibri e un indice dei contenuti | Navigazione | structural |
links-and-annotations (pianificato upstream) | Aggiungere link e annotazioni | Navigazione | structural |
generate-barcodes (pianificato upstream) | Generare barcode | Barcode | bitwise |
fill-pdf-form (pianificato upstream) | Compilare un AcroForm | Modulo | structural |
flatten-form-fields (pianificato upstream) | Appiattire i campi del modulo | Modulo | structural |
Informazioni del documento
Sezione intitolata “Informazioni del documento”Impostare i metadati e il comportamento del viewer.
| Recipe | Cosa fa | Modulo | Profilo |
|---|---|---|---|
set-document-metadata (pianificato upstream) | Impostare i metadati del documento | Metadati | structural |
set-viewer-preferences (pianificato upstream) | Impostare le preferenze del viewer | Documento | structural |
Sicurezza, firma e conformità
Sezione intitolata “Sicurezza, firma e conformità”Cifratura, firma, accessibilità e output con profilo. Queste recipe riportano nella rispettiva pagina i confini supporto≠conformità e presenza≠validità.
| Recipe | Cosa fa | Modulo | Profilo |
|---|---|---|---|
encrypt-with-permissions (pianificato upstream) | Cifrare usando i flag dei permessi | Sicurezza | structural |
sign-pades-b-b (pianificato upstream) | Applicare una firma PAdES (B-B e B-T) | Sicurezza | semantic |
inspect-existing-signature (pianificato upstream) | Ispezionare una firma esistente | Ispezione | semantic |
tagged-pdf-ua2 (pianificato upstream) | Emettere struttura taggata per PDF/UA-2 | Accessibilità | semantic |
pdf-a-4-output (pianificato upstream) | Produrre output PDF/A-4 | Conformità | semantic |
validate-conformance (pianificato upstream) | Validare rispetto a un profilo di conformità | Compliance | semantic |
Ispezione ed estrazione
Sezione intitolata “Ispezione ed estrazione”Rileggere contenuto e struttura di un PDF.
| Recipe | Cosa fa | Modulo | Profilo |
|---|---|---|---|
extract-text-content (pianificato upstream) | Estrarre contenuto testuale | Testo | semantic |
parse-and-inspect-pdf (pianificato upstream) | Analizzare e ispezionare un PDF | Ispezione | semantic |
inspect-layout-boxes (pianificato upstream) | Ispezionare i box di layout | Ispezione | semantic |
Trasversali
Sezione intitolata “Trasversali”Pattern comuni a più moduli.
| Recipe | Cosa fa | Attraversa | Profilo |
|---|---|---|---|
worker-safe-batch-rendering (pianificato upstream) | Eseguire il rendering in sicurezza in un worker a esecuzione prolungata (registri condivisi, memoria limitata) | Core · Performance · Support | semantic |
exception-aware-error-handling (pianificato upstream) | Gestire gli errori con la gerarchia delle eccezioni NextPDF | Exception · Contracts | structural |
observe-with-opentelemetry (pianificato upstream) | Osservare il rendering con OpenTelemetry | Observability · Telemetry · Event | semantic |
Recipe in attesa di un esempio eseguibile
Sezione intitolata “Recipe in attesa di un esempio eseguibile”Queste recipe richiedono un nuovo examples/*.php più un harness tests/Cookbook/Php/ nel repository core prima di poter essere pubblicate. Lo slug indicato sopra è definitivo. La pagina resta un segnaposto finché l’esempio non viene integrato e il relativo test non viene eseguito:
sign-pades-b-b(pianificato upstream) (copre PAdES B-B e B-T)inspect-existing-signature(pianificato upstream)extract-text-content(pianificato upstream)parse-and-inspect-pdf(pianificato upstream)validate-conformance(pianificato upstream)inspect-layout-boxes(pianificato upstream)worker-safe-batch-rendering(pianificato upstream) (l’esempio esiste; aggiunto un nuovo test di harness memory/GC)observe-with-opentelemetry(pianificato upstream) (aggiunto un nuovo esempio nativo PHP)
Ogni altra recipe qui sopra ha già un examples/*.php di supporto e richiede solo un wrapper per l’harness. Questo indice registra lo slug e la pagina futura. Non dichiara completa alcuna pagina in attesa.
Vedere anche
Sezione intitolata “Vedere anche”- Integration cookbook — l’indice delle integrazioni con framework, renderer e servizi.
- Recipe conventions — il contratto che ogni recipe eseguibile in questo cookbook rispetta.