Salta ai contenuti

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.

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.

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 /ID del 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.

Il repository core contiene già e integra oggi queste cinque recipe — il set della Wave 8.

RecipeCosa faModuloProfilo
sign-pades (pianificato upstream)Applicare una firma CMS/PAdES baseline con una chiave softwareSicurezzasemantic
encrypt-aes256 (pianificato upstream)Cifrare con AES-256 e impostare i flag dei permessiSicurezzastructural
pdfa4-conformance-gate (pianificato upstream)Produrre output PDF/A-4 e applicare un gate con un validatore esternoConformitàsemantic
accessible-pdfua2-from-html (pianificato upstream)Emettere la struttura taggata per la redazione accessibile in PDF/UA-2Accessibilitàsemantic
validate-signature (pianificato upstream)Verificare se un PDF contiene una firma e individuarne il confine di fiduciaIspezionesemantic

Costruire un documento, impaginarlo e applicargli uno stile.

RecipeCosa faModuloProfilo
render-html-to-pdf (pianificato upstream)Eseguire il rendering di un documento HTML in PDFHtmlstructural
style-with-css (pianificato upstream)Applicare CSS a un rendering HTMLHtmlstructural
html-table-layout (pianificato upstream)Impaginare una tabella HTMLHtmlstructural
paginate-long-html (pianificato upstream)Impaginare un documento HTML lungoHtmlstructural
compose-text-and-fonts (pianificato upstream)Comporre testo con controllo tipograficoTipografiastructural
embed-and-subset-fonts (pianificato upstream)Incorporare i font e crearne sottoinsiemiFontstructural
cjk-vertical-writing (pianificato upstream)Comporre testo CJK in modalità di scrittura verticaleTipografiastructural
multi-page-document (pianificato upstream)Costruire un documento multipaginaDocumentostructural
headers-and-footers (pianificato upstream)Aggiungere intestazioni e piè di pagina ricorrentiLayoutstructural

Vettori, immagini, livelli e spazio delle coordinate.

RecipeCosa faModuloProfilo
draw-vector-graphics (pianificato upstream)Disegnare grafica vettorialeGraficastructural
gradients-and-transparency (pianificato upstream)Applicare gradienti e trasparenzaGraficastructural
embed-images (pianificato upstream)Incorporare immagini rasterContenutistructural
optional-content-layers (pianificato upstream)Usare contenuti opzionali (livelli)Graficastructural
transform-coordinate-space (pianificato upstream)Trasformare lo spazio delle coordinateGraficastructural

Segnalibri, link, annotazioni e campi AcroForm.

RecipeCosa faModuloProfilo
bookmarks-and-toc (pianificato upstream)Costruire segnalibri e un indice dei contenutiNavigazionestructural
links-and-annotations (pianificato upstream)Aggiungere link e annotazioniNavigazionestructural
generate-barcodes (pianificato upstream)Generare barcodeBarcodebitwise
fill-pdf-form (pianificato upstream)Compilare un AcroFormModulostructural
flatten-form-fields (pianificato upstream)Appiattire i campi del moduloModulostructural

Impostare i metadati e il comportamento del viewer.

RecipeCosa faModuloProfilo
set-document-metadata (pianificato upstream)Impostare i metadati del documentoMetadatistructural
set-viewer-preferences (pianificato upstream)Impostare le preferenze del viewerDocumentostructural

Cifratura, firma, accessibilità e output con profilo. Queste recipe riportano nella rispettiva pagina i confini supporto≠conformità e presenza≠validità.

RecipeCosa faModuloProfilo
encrypt-with-permissions (pianificato upstream)Cifrare usando i flag dei permessiSicurezzastructural
sign-pades-b-b (pianificato upstream)Applicare una firma PAdES (B-B e B-T)Sicurezzasemantic
inspect-existing-signature (pianificato upstream)Ispezionare una firma esistenteIspezionesemantic
tagged-pdf-ua2 (pianificato upstream)Emettere struttura taggata per PDF/UA-2Accessibilitàsemantic
pdf-a-4-output (pianificato upstream)Produrre output PDF/A-4Conformitàsemantic
validate-conformance (pianificato upstream)Validare rispetto a un profilo di conformitàCompliancesemantic

Rileggere contenuto e struttura di un PDF.

RecipeCosa faModuloProfilo
extract-text-content (pianificato upstream)Estrarre contenuto testualeTestosemantic
parse-and-inspect-pdf (pianificato upstream)Analizzare e ispezionare un PDFIspezionesemantic
inspect-layout-boxes (pianificato upstream)Ispezionare i box di layoutIspezionesemantic

Pattern comuni a più moduli.

RecipeCosa faAttraversaProfilo
worker-safe-batch-rendering (pianificato upstream)Eseguire il rendering in sicurezza in un worker a esecuzione prolungata (registri condivisi, memoria limitata)Core · Performance · Supportsemantic
exception-aware-error-handling (pianificato upstream)Gestire gli errori con la gerarchia delle eccezioni NextPDFException · Contractsstructural
observe-with-opentelemetry (pianificato upstream)Osservare il rendering con OpenTelemetryObservability · Telemetry · Eventsemantic

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.