Ir al contenido

Recetario PHP

Este es el índice de las recetas nativas de PHP de NextPDF: páginas ejecutables, centradas en tareas y escritas directamente contra la API PHP del core. El repositorio core nextpdf es propietario de cada receta en docs/public/cookbook/php/ y la verifica. Cada una está respaldada por un script examples/*.php y una prueba de arnés tests/Cookbook/Php/. Después, el agregador incorpora cada página a este sitio y conserva su procedencia de origen.

Como esta página es un índice, no formula ninguna afirmación de comportamiento sobre ninguna receta. Cada fila registra la intención de la receta, el módulo core que ejercita y su perfil de reproducibilidad declarado. El perfil y cualquier afirmación de conformidad figuran en la propia página de la receta, tomados del front-matter de esa página y de su prueba en el repositorio, no aquí. Para el recetario de integraciones (framework / renderizador / servicio), consulte Recetario de integraciones. Para el contrato que sigue toda receta ejecutable, consulte Convenciones de recetas.

Cada [[…]] que aparece a continuación es una referencia anticipada a una página redactada en el repositorio core bajo docs/public/cookbook/php/, que luego el agregador incorpora a este sitio. El slug sigue una única convención: un solo segmento.

/cookbook/php/<recipe>/

<recipe> identifica la intención de la receta en kebab-case (por ejemplo render-html-to-pdf, no el nombre del módulo html). Va en minúsculas, separado por guiones, sin números de versión y termina en una única barra final. Hasta que la página de destino se incorpore, su enlace es un marcador de posición y no se resuelve. Una receta que aún no tiene un ejemplo ejecutable (la lista de pendientes que aparece más abajo) no puede publicarse hasta que existan su ejemplo y su prueba de arnés, aunque el enlace ya apunte al slug definitivo.

Cada receta declara el perfil más estricto que puede satisfacer con rigor:

  • bitwise — idéntico byte a byte entre ejecuciones (contenido determinista simple, con toda la entropía fijada).
  • structural — idéntico tras normalizar los átomos volátiles (el /ID del trailer, las fechas de creation/modification, los prefijos de subconjunto de fuente; en la práctica, cualquier PDF con varios objetos).
  • semantic — solo equivalencia de AST estructural más metadatos (salida firmada o con marca de tiempo, o salida cuya equivalencia sea inherentemente inestable a nivel de bytes).

El perfil es una propiedad que la página de la receta demuestra con su prueba de arnés. Este índice solo informa el valor que la página declara.

Actualmente, el repositorio core ya contiene e integra estas cinco recetas: el conjunto de la Wave 8.

RecetaQué haceMóduloPerfil
sign-pades (previsto en upstream)Aplicar una firma de línea base CMS/PAdES con una clave basada en softwareSeguridadsemantic
encrypt-aes256 (previsto en upstream)Cifrar con AES-256 y establecer las marcas de permisosSeguridadstructural
pdfa4-conformance-gate (previsto en upstream)Producir salida PDF/A-4 y validarla con un validador externoConformidadsemantic
accessible-pdfua2-from-html (previsto en upstream)Emitir la estructura etiquetada para la generación accesible de PDF/UA-2Accesibilidadsemantic
validate-signature (previsto en upstream)Inspeccionar si un PDF contiene una firma y cuál es el límite de confianzaInspecciónsemantic

Construir, paginar y aplicar estilos a un documento.

RecetaQué haceMóduloPerfil
render-html-to-pdf (previsto en upstream)Renderizar un documento HTML a PDFHtmlstructural
style-with-css (previsto en upstream)Aplicar CSS a un renderizado de HTMLHtmlstructural
html-table-layout (previsto en upstream)Maquetar una tabla HTMLHtmlstructural
paginate-long-html (previsto en upstream)Paginar un documento HTML largoHtmlstructural
compose-text-and-fonts (previsto en upstream)Componer texto con control tipográficoTipografíastructural
embed-and-subset-fonts (previsto en upstream)Incrustar y subconjuntar fuentesFuentestructural
cjk-vertical-writing (previsto en upstream)Componer texto CJK en modo de escritura verticalTipografíastructural
multi-page-document (previsto en upstream)Construir un documento de varias páginasDocumentostructural
headers-and-footers (previsto en upstream)Añadir encabezados y pies de página recurrentesDiseñostructural

Vectores, imágenes, capas y espacio de coordenadas.

RecetaQué haceMóduloPerfil
draw-vector-graphics (previsto en upstream)Dibujar gráficos vectorialesGráficosstructural
gradients-and-transparency (previsto en upstream)Aplicar degradados y transparenciaGráficosstructural
embed-images (previsto en upstream)Incrustar imágenes rasterizadasContenidostructural
optional-content-layers (previsto en upstream)Usar contenido opcional (capas)Gráficosstructural
transform-coordinate-space (previsto en upstream)Transformar el espacio de coordenadasGráficosstructural

Marcadores, enlaces, anotaciones y campos de AcroForm.

RecetaQué haceMóduloPerfil
bookmarks-and-toc (previsto en upstream)Construir marcadores y una tabla de contenidoNavegaciónstructural
links-and-annotations (previsto en upstream)Añadir enlaces y anotacionesNavegaciónstructural
generate-barcodes (previsto en upstream)Generar códigos de barrasCódigo de barrasbitwise
fill-pdf-form (previsto en upstream)Rellenar un AcroFormFormulariostructural
flatten-form-fields (previsto en upstream)Aplanar los campos de formularioFormulariostructural

Configurar metadatos y el comportamiento del visor.

RecetaQué haceMóduloPerfil
set-document-metadata (previsto en upstream)Establecer los metadatos del documentoMetadatosstructural
set-viewer-preferences (previsto en upstream)Establecer las preferencias del visorDocumentostructural

Cifrado, firma, accesibilidad y salida con perfil. Estas recetas documentan en su propia página los límites soporte≠conformidad y presencia≠validez.

RecetaQué haceMóduloPerfil
encrypt-with-permissions (previsto en upstream)Cifrar con marcas de permisosSeguridadstructural
sign-pades-b-b (previsto en upstream)Aplicar una firma PAdES (B-B y B-T)Seguridadsemantic
inspect-existing-signature (previsto en upstream)Inspeccionar una firma existenteInspecciónsemantic
tagged-pdf-ua2 (previsto en upstream)Emitir la estructura etiquetada para PDF/UA-2Accesibilidadsemantic
pdf-a-4-output (previsto en upstream)Producir salida PDF/A-4Conformidadsemantic
validate-conformance (previsto en upstream)Validar frente a un perfil de conformidadCumplimientosemantic

Volver a leer el contenido y la estructura de un PDF.

RecetaQué haceMóduloPerfil
extract-text-content (previsto en upstream)Extraer contenido de textoTextosemantic
parse-and-inspect-pdf (previsto en upstream)Analizar e inspeccionar un PDFInspecciónsemantic
inspect-layout-boxes (previsto en upstream)Inspeccionar las cajas de diseñoInspecciónsemantic

Patrones que abarcan varios módulos.

RecetaQué haceAbarcaPerfil
worker-safe-batch-rendering (previsto en upstream)Renderizar de forma segura en un worker de larga duración (registros compartidos, memoria acotada)Core · Rendimiento · Soportesemantic
exception-aware-error-handling (previsto en upstream)Gestionar errores con la jerarquía de excepciones de NextPDFExcepción · Contratosstructural
observe-with-opentelemetry (previsto en upstream)Observar el renderizado con OpenTelemetryObservabilidad · Telemetría · Eventosemantic

Estas recetas necesitan un examples/*.php completamente nuevo y un arnés tests/Cookbook/Php/ en el repositorio core antes de poder publicarse. El slug indicado arriba es definitivo. La página sigue siendo un marcador de posición hasta que el ejemplo esté disponible y su prueba se ejecute:

  • sign-pades-b-b (previsto en upstream) (cubre PAdES B-B y B-T)
  • inspect-existing-signature (previsto en upstream)
  • extract-text-content (previsto en upstream)
  • parse-and-inspect-pdf (previsto en upstream)
  • validate-conformance (previsto en upstream)
  • inspect-layout-boxes (previsto en upstream)
  • worker-safe-batch-rendering (previsto en upstream) (el ejemplo existe; se añadió una nueva prueba de arnés para memoria/GC)
  • observe-with-opentelemetry (previsto en upstream) (se añadió un nuevo ejemplo nativo de PHP)

Cualquier otra receta de las anteriores ya tiene un examples/*.php de respaldo y solo necesita un envoltorio para el arnés. Este índice registra el slug y la página definitiva. No afirma que ninguna página pendiente esté ya completa.