Conformidad que puedes entregar a un auditor
Spec: ISO 19005-4 (PDF/A-4)ISO 19005-4 (PDF/A-4)Spec: ISO 32000-2ISO 32000-2Spec: ETSI EN 319 142-1ETSI EN 319 142-1Spec: EN 16931-1EN 16931-1
De un vistazo
Sección titulada «De un vistazo»Un auditor no quiere oír que un documento es conforme. Quiere que se le entreguen dos cosas: el documento y el resultado de una comprobación que así lo afirme. Esta página trata de producir ambos con NextPDF: una salida conforme y un resultado de validación que puedas poner delante de quien lo pide.
El núcleo de código abierto produce salida PDF/A de archivado y firmas PAdES de base, y valida la conformidad: PDF/A, PDF/UA y firmas. Las ediciones avanzadas extienden el alcance hacia la validación de largo plazo y la facturación electrónica. En todo momento se mantiene una regla: la conformidad es el veredicto de un comprobador, no una promesa que el productor pueda hacer.
Por qué importa
Sección titulada «Por qué importa»El trabajo de cumplimiento tiene una señal reveladora. Alguien dice «sí, es conforme» y entonces la sala enmudece, porque nadie puede aportar aquello que lo demuestra. El documento tiene buen aspecto. La biblioteca tiene buena reputación. Nada de eso es evidencia.
El coste de esa laguna es asimétrico. Un archivo que solo parece conforme supera la revisión de hoy y falla una comprobación externa meses después —ante una autoridad fiscal, en un archivo de largo plazo o ante un tribunal— cuando el contexto original ya no está y el fallo es caro de explicar. Los estándares anticiparon exactamente esto. Un archivo PDF/A registra su perfil de destino en sus metadatos, pero esa identificación declara la intención del productor; la determinación de la conformidad la realiza un proceso de validación externo al software productor (Spec: ISO 19005-4 (PDF/A-4), §6.7.3ISO 19005-4 (PDF/A-4) §6.7.3). El propio formato te dice que el productor no tiene la última palabra.
La versión breve
Sección titulada «La versión breve»- Puedes producir una salida conforme Y un resultado que afirme que es conforme. No una afirmación: un artefacto más una comprobación.
- El núcleo cubre los casos comunes. Produce salida PDF/A de archivado y firmas PAdES B-B / B-T, y valida la conformidad para PDF/A, PDF/UA y firmas.
- La conformidad es el veredicto de un validador, acotado a un estándar, una cláusula y un nivel. NextPDF declara el perfil y el nivel que persigue, nunca un «conforme» sin matices (Spec: ETSI EN 319 142-1, §6.1ETSI EN 319 142-1 §6.1).
- Las ediciones avanzadas extienden el alcance. La validación de largo plazo (PAdES B-LT / B-LTA) y la facturación electrónica (ZUGFeRD / Factur-X frente a EN 16931) son capacidades de nivel comercial.
- El motor se niega a falsear un veredicto. Produce un candidato y ejecuta la comprobación; nunca marca un archivo como conforme por su propia autoridad.
Cómo lo aborda NextPDF
Sección titulada «Cómo lo aborda NextPDF»El enfoque es una separación limpia, aplicada en todas partes: producir el artefacto que un estándar define es una capacidad; decidir que el artefacto es conforme es un veredicto. NextPDF te da lo primero y te deja obtener lo segundo de un comprobador. Nunca los confunde.
Esa separación es lo que hace entregable la salida. Una firma es el caso más claro. Su valor se calcula sobre un intervalo de bytes declarado que excluye deliberadamente la propia firma (Spec: ISO 32000-2, §12.8ISO 32000-2 §12.8), que es precisamente por lo que la validez es algo que un tercero puede recalcular a partir del archivo en vez de aceptarlo por fe. El trabajo del productor es escribir esa estructura correctamente. El trabajo del validador es confirmarla. Dos trabajos, dos partes, y la segunda es la que un auditor confía.
Así que el flujo de trabajo que entregas tiene cuatro movimientos, y el tercero es el que convierte «debería ser conforme» en «lo es».
- Produce a candidateGenerate PDF/A archival output or a PAdES signature with the conformance-relevant structure in place — embedded fonts, declared profile, a signature over a correct byte range.
- Refuse the impossibleThe engine rejects conformance-breaking combinations (an encrypted PDF/A, a signature level it cannot honor) rather than emitting a file that silently does not conform.
- Validate independentlyRun a conformance checker — PDF/A, PDF/UA, signature. A passing report is the evidence; the producing library is not.
- Hand over bothGive the auditor the document and the validation result together. The verdict travels with the artifact.
El paso intermedio no es decoración. Cuando el modo de archivado está activo y se intenta una operación incompatible —activar el cifrado, por ejemplo— el motor lanza un error tipado en vez de degradar el archivo a un documento «de archivado» no conforme. Negarse en voz alta es lo que mantiene al candidato lo bastante honesto como para superar la comprobación que sigue.
Y la comprobación es graduada, nunca un único bit. PAdES está organizado por niveles por diseño: B-B, B-T, B-LT y B-LTA, cada uno añade algo al anterior (Spec: ETSI EN 319 142-1, §6.1ETSI EN 319 142-1 §6.1). Una firma B-T lleva una marca de tiempo de confianza que B-B no tiene. Una afirmación que nombra el nivel es una afirmación honesta; un escueto «firmado» no lo es. NextPDF te obliga a nombrar el nivel, de modo que el resultado que entregas dice exactamente qué se consiguió.
Ejemplo práctico
Sección titulada «Ejemplo práctico»Una forma breve y completa. Produce un candidato, lo valida y trata la respuesta del validador como la evidencia, nunca la llamada productora.
<?php
declare(strict_types=1);
use NextPDF\Contracts\PdfDocumentInterface;use NextPDF\Conformance\ConformanceValidator;use NextPDF\Conformance\ConformanceTarget;use NextPDF\Conformance\ValidationReport;
/** * Produce a candidate, then prove it with an independent check. * * The producing call returns bytes that SHOULD conform. Only the * validator's report turns "should" into something an auditor accepts. * * @param PdfDocumentInterface $candidate A document composed for archival * (fonts embedded, profile declared) */function archivalEvidence( PdfDocumentInterface $candidate, ConformanceValidator $validator,): ValidationReport { // 1. The producing call states intent; it does not certify. $bytes = $candidate->getPdfData();
// 2. The check is the verdict. Conformance is decided here, by the // validator, against the named target — not by the line above. $report = $validator->validate($bytes, ConformanceTarget::PdfA);
// 3. Hand BOTH over: the bytes plus the report. The report names the // target, the level, and every requirement that was checked. return $report;}La variable se llama $candidate a propósito, y el informe es el valor de retorno a
propósito. El documento es lo que produjiste; el informe es lo que lo demuestra. Un
auditor te pidió demostrar la conformidad, así que le das la demostración, no la
palabra del productor.
Idea equivocada habitual
Sección titulada «Idea equivocada habitual»La idea equivocada que llena los archivos de ficheros no preservados y las bandejas de entrada de facturas rechazadas es simple: «la biblioteca dice PDF/A, así que el archivo es PDF/A». No es a la biblioteca a quien corresponde dar ese veredicto. Un productor puede emitir un archivo con la intención de ser conforme y aun así incumplir un requisito normativo; solo un proceso de validación convierte la intención en una determinación. Tratar la llamada productora como prueba es el error central, y es exactamente el error que un auditor está entrenado para detectar.
Una segunda trampa, más sutil, es entender «NextPDF es conforme a los estándares» como una única garantía total. No existe tal cosa, y ningún motor honesto la ofrece. La conformidad es por estándar, por cláusula y por nivel. La afirmación correcta nombra qué perfil, qué nivel y muestra la comprobación. Una afirmación sin esos datos es marketing, e Insider_ no lo imprime.
Límites y fronteras
Sección titulada «Límites y fronteras»- NextPDF produce un candidato conforme y lo valida; no certifica la conformidad. El informe del validador es la evidencia. La biblioteca productora nunca emite su propio certificado.
- La validación es el resultado de un comprobador, no una garantía absoluta. Una ejecución limpia significa que el archivo cumplió los requisitos que el validador comprobó, frente a la edición del estándar que implementa. Es la evidencia más sólida disponible, no una prueba metafísica.
- El alcance del núcleo es la salida PDF/A de archivado y las firmas PAdES B-B / B-T, más la validación de conformidad para PDF/A, PDF/UA y firmas. No proporciona en silencio las capacidades de las ediciones avanzadas.
- La validación de largo plazo (B-LT / B-LTA) y la facturación electrónica (ZUGFeRD / Factur-X frente a EN 16931) son capacidades de edición avanzada. EN 16931-1 define el modelo semántico de factura frente al que se valida la carga útil (Spec: EN 16931-1, ScopeEN 16931-1 Scope); honrarlo es de nivel comercial, no del núcleo.
- El efecto jurídico es una cuestión separada de la conformidad técnica. Si una firma es legalmente suficiente en una jurisdicción lo deciden la ley y la autoridad receptora, no un validador. NextPDF responde por el resultado técnico; tu equipo de cumplimiento responde por su peso jurídico.
| Edition | Availability |
|---|---|
| Core | Produce salida PDF/A de archivado y firmas PAdES B-B / B-T, y valida la conformidad para PDF/A, PDF/UA y firmas. La salida y el resultado de la validación están ambos disponibles para entregar. |
| Pro | Añade la validación de largo plazo —PAdES B-LT / B-LTA— incrustando la evidencia de revocación y las marcas de tiempo de documento que mantienen una firma verificable después de que el certificado caduque. |
| Enterprise | Añade la facturación electrónica (ZUGFeRD / Factur-X frente a EN 16931) y una política y un informe de conformidad estructural —sigue siendo una comprobación estructural, con la determinación final correspondiente a un validador y a tu equipo de cumplimiento. |
Las herramientas de cumplimiento más profundas, y la frontera de conformidad citada para cada capacidad de edición avanzada, residen en la página de conformidad y cumplimiento. Cuando necesites ejecutar la comprobación, la guía de resolución de problemas de validación PDF/A y PDF/UA recorre cómo leer y corregir un informe fallido.
Documentos relacionados
Sección titulada «Documentos relacionados»- Archivado y PDF/A — qué garantiza PDF/A, y por qué demostrar la conformidad es un trabajo aparte de producirla.
- Validar correctamente una firma — el conjunto completo de comprobaciones tras «la firma es válida».
- La ruta de estándares — el mapa de los organismos de estandarización y cómo una cláusula se convierte en comportamiento comprobado.
- Perfiles de base PAdES — B-B, B-T, B-LT y B-LTA como una progresión, y cómo elegir el nivel que tu obligación necesita.
- Facturas y facturación electrónica — la factura híbrida de PDF / datos estructurados frente a EN 16931, de principio a fin.
Glosario
Sección titulada «Glosario»- Conformidad — concordancia de un archivo con los requisitos normativos de un estándar, según la decide un proceso de validación, acotada a un estándar, una cláusula y un nivel específicos.
- Candidato — un archivo producido con la intención de ser conforme, antes de que un validador independiente haya confirmado que lo es.
- Validador / comprobador de conformidad — software independiente que juzga un archivo frente a los requisitos de un estándar y produce el resultado en el que un auditor se apoya.
- PDF/A — la familia ISO 19005: un perfil PDF restringido para la preservación a largo plazo, diseñado para reproducir la apariencia estática de un documento a lo largo del tiempo.
- PDF/UA — la familia ISO 14289: el perfil de accesibilidad que define cómo un PDF etiquetado transmite la estructura a la tecnología de apoyo.
- PAdES — PDF Advanced Electronic Signatures, la familia ETSI EN 319 142 de perfiles de firma (B-B, B-T, B-LT, B-LTA) que ISO 32000-2 referencia para la firma de PDF.
- EN 16931 — el estándar europeo que define el modelo semántico de datos de una factura electrónica esencial, la obligación frente a la que se comprueba la carga útil de una factura electrónica híbrida.