Ir al contenido

Archivado y PDF/A

Spec: ISO 19005-4:2020, PDF/A-4 Spec: ISO 19005-2, PDF/A-2 Evidence: Standard-backed

PDF/A es el formato al que se recurre cuando un documento debe seguir siendo legible y fiel dentro de décadas, en software que todavía no existe. Esta página explica qué cubre realmente esa garantía, cómo NextPDF produce un archivo conforme y qué parte suele sorprender a los equipos. Producir PDF/A y demostrar que un archivo es PDF/A son dos tareas distintas. La segunda sigue siendo responsabilidad del equipo.

Las obligaciones de archivado son implacables de forma silenciosa. El archivo se ve bien hoy, así que se archiva. El fallo —una fuente no incrustada, un color dependiente del dispositivo, un tráiler cifrado— aflora años después, cuando el entorno original ha desaparecido y nadie puede reconstruir cómo debía verse el documento. Para entonces, el coste no es volver a renderizar. Es un registro en el que ya no se puede confiar.

PDF/A existe precisamente para eliminar esa clase de fallo. Pero «usamos una biblioteca PDF/A» no es lo mismo que «este archivo es conforme». Confundir ambas cosas es la forma en que los repositorios de archivo acumulan documentos que solo parecen preservados.

  • El propósito de PDF/A es una reproducción fiel, autónoma e independiente del dispositivo a lo largo del tiempo: preserva la apariencia visual estática de un documento con independencia de las herramientas que lo crearon (ISO 19005-2, Introducción).
  • Eso exige restricciones concretas: todas las fuentes incrustadas, color independiente del dispositivo (directamente o mediante una intención de salida; ISO 19005-4 §6.2.4.1), y ningún cifrado en el tráiler.
  • NextPDF produce PDF/A mediante un modo explícito y opcional que rechaza las operaciones incompatibles en lugar de emitir un archivo que silenciosamente no es conforme.
  • La conformidad la determina una herramienta de verificación, no la afirma el productor. Incluso el éxito de la propia norma depende del entorno y los procedimientos de archivado circundantes (ISO 19005-4, Introducción). Validar la salida sigue siendo un paso necesario.

NextPDF trata PDF/A como un modo del documento, no como un filtro de posprocesamiento. El modo es opcional. Una vez activado, protege activamente el documento frente a operaciones que romperían la conformidad. El principio de diseño es fallar pronto y de forma explícita. Es mejor rechazar con un error claro una solicitud de PDF/A con cifrado que devolver un archivo que parece apto para archivado y no lo es.

El escenario tiene cuatro etapas, y la tercera es la que los equipos se saltan.

  1. Compose for permanence Embed every font, use device-independent colour or an output intent, and avoid features the chosen PDF/A part forbids.
  2. Enable the PDF/A mode Opt in explicitly to the target conformance level. The mode now guards the document against incompatible operations.
  3. Validate independently Run a conformance checker. A passing report — not the producing library — is the evidence the archive needs.
  4. Preserve with procedure Store under records-management policy. The standard itself notes archival success depends on the environment, not the file alone.
El escenario de archivado de principio a fin: el motor produce un candidato conforme y rechaza las operaciones que rompen la conformidad; un validador independiente emite el veredicto que de verdad importa para un archivo.

La opción es una protección real, no un simple indicador. Cuando el modo PDF/A está habilitado y se intenta una operación incompatible —activar AES-GCM o el gestor de cifrado estándar—, el motor lanza un error de incompatibilidad tipado. La protección funciona en ambos órdenes: habilitar PDF/A y luego solicitar el cifrado, o solicitar el cifrado y luego habilitar PDF/A. En todos los casos, el resultado es un rechazo claro. ISO 19005 prohíbe la clave Encrypt en el tráiler de un archivo conforme, y el motor lo trata como vinculante en lugar de como una recomendación.

El modo también mantiene coherente su propio estado. Habilitar PDF/A para una parte específica (por ejemplo, un nivel fiel a los bytes de PDF/A-3 frente a PDF/A-4) ajusta el discriminante de conformidad del documento para que coincida. Las comprobaciones del lado del escritor que dependen de la parte ven así el valor correcto en lugar de un valor predeterminado obsoleto. Este es el tipo de coherencia interna que decide si un validador acepta el archivo.

Esta página está respaldada por la norma en su totalidad. Evidence: Standard-backed

El propósito lo fija la norma. Spec: ISO 19005-2 establece que el propósito principal de PDF/A es un mecanismo para representar documentos electrónicos de modo que su apariencia visual estática se preserve a lo largo del tiempo, con independencia de las herramientas y sistemas usados. Las restricciones se derivan de ello: Spec: ISO 19005-4:2020, §6.2.4.1 exige que el color se especifique de forma independiente del dispositivo, directamente o mediante la intención de salida PDF/A. El requisito de las fuentes lo refuerza el formato base: Spec: ISO 32000-2:2020, §9 señala que la representación más predecible y fiable se produce cuando todas las fuentes están incrustadas, justo la propiedad de la que un archivo no puede prescindir.

El límite también está en la norma; no es solo una advertencia editorial. Spec: ISO 19005-4:2020 establece en su Introducción que una implementación correcta con fines de archivado depende del entorno de archivado de la organización, las políticas de gestión de registros y las condiciones adicionales de persistencia. La conformidad se juzga frente a los requisitos normativos de la norma mediante una herramienta de verificación, no la declara el productor.

El comportamiento del motor está respaldado por el código: Evidence: Code-backed Document::enablePdfA() es una opción explícita que lanza un error de incompatibilidad tipado cuando se combinan el cifrado y PDF/A en cualquier orden, y mantiene el discriminante de conformidad del documento en sincronía con la parte seleccionada.

El código siguiente muestra el comportamiento de protección en el punto de integración. El modo PDF/A propiamente dicho es una capacidad del nivel Premium. La comprobación de conformidad es un paso aparte e independiente.

<?php
declare(strict_types=1);
use NextPDF\Contracts\PdfDocumentInterface;
use NextPDF\Security\Exception\IncompatiblePdfAModeException;
/**
* Produce an archival candidate, then prove it independently.
*
* The engine refuses conformance-breaking combinations; it does NOT
* certify the result. A validator does that.
*
* @param PdfDocumentInterface $doc A document with all fonts embedded
* @param object $pdfaLevel The target PDF/A version (Premium enum)
*
* @return string The archival candidate's bytes — not yet a verified PDF/A
*/
function buildArchivalCandidate(
PdfDocumentInterface $doc,
object $pdfaLevel,
): string {
try {
// Opt in explicitly. From here the mode guards the document.
$doc->enablePdfA($pdfaLevel);
} catch (IncompatiblePdfAModeException $e) {
// e.g. encryption was already requested — refused, not silently
// downgraded into a non-conforming "archival" file.
throw new \RuntimeException(
'PDF/A and encryption are mutually exclusive for a conforming '
. 'file; resolve before archiving.',
previous: $e,
);
}
$bytes = $doc->getPdfData();
// The step teams skip: this is a CANDIDATE. Run an independent
// conformance validator before treating it as a preserved record.
return $bytes;
}

El comentario sobre el valor de retorno es la lección. El nombre de la función usa candidato a propósito. El motor produjo algo que debería ser conforme. Solo un verificador convierte ese «debería» en evidencia.

Un concepto erróneo llena los repositorios de archivo de documentos no preservados: «la biblioteca dice PDF/A, por lo tanto el archivo es PDF/A Ese veredicto no le corresponde a la biblioteca. Un productor puede emitir un archivo destinado a ser conforme y aun así incumplir un requisito normativo. La conformidad se determina frente a la norma mediante una herramienta de validación. Esa determinación es la base de un auditor o de un futuro lector. Tratar la intención de la biblioteca productora como prueba es el error de fondo.

Una segunda trampa, más sutil: suponer que PDF/A por sí solo preserva el documento. La propia norma vincula el éxito del archivado al entorno y los procedimientos circundantes. Un archivo conforme en un repositorio sin disciplina sigue estando en riesgo. El formato es necesario, no suficiente.

  • NextPDF produce un candidato conforme; no certifica la conformidad. Es necesario ejecutar un validador independiente. La evidencia es un informe aprobado, no la biblioteca productora.
  • Los modos de conformidad PDF/A son una capacidad del nivel Premium. Core emite PDF 2.0 simple y ofrece una ruta de actualización accionable. No proporciona garantías de PDF/A. Consulte la frontera más abajo.
  • PDF/A y el cifrado son mutuamente excluyentes en un archivo conforme. El motor rechaza la combinación en cualquier orden en lugar de degradarla silenciosamente.
  • El motor no puede incrustar fuentes que no se le proporcionen ni corregir el color dependiente del dispositivo suministrado en la entrada. Componer para la permanencia —fuentes incrustadas, color independiente del dispositivo— es una responsabilidad de la entrada.
  • La durabilidad del archivado depende del proceso, no del archivo por sí solo. ISO 19005 considera que los procedimientos de retención y gestión de registros de la organización forman parte de una preservación exitosa.
  • Esta página está respaldada por la norma y se centra en el comportamiento de la superficie Premium. No afirma ni otorga ninguna certificación.
PDF/A archival conformance — edition availability
Edition Availability
Core

Core produce únicamente PDF 2.0 simple. enablePdfA() lanza un error de actualización accionable que apunta al paquete comercial. No existe ninguna garantía de PDF/A con Core por sí solo.

Pro

Los modos de conformidad PDF/A (incluidos los niveles fieles a los bytes de PDF/A-3 y PDF/A-4) están disponibles, con la protección de incompatibilidad de cifrado.

Enterprise

Añade una política de conformidad PDF/A y un informe estructural (sigue siendo una comprobación estructural, no una certificación: la determinación final corresponde a un validador y al equipo de cumplimiento).

  • PDF/A: la familia ISO 19005: un perfil de 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 con independencia de las herramientas que lo produjeron.
  • Nivel / parte de conformidad: la variante específica de PDF/A (por ejemplo PDF/A-2, PDF/A-3, PDF/A-4 y sus subniveles); cada una restringe qué funciones de PDF pueden usarse.
  • Intención de salida: un perfil de caracterización de color incrustado que permite interpretar el color dependiente del dispositivo de forma independiente del dispositivo.
  • Color independiente del dispositivo: color especificado de modo que se reproduzca de forma coherente sin importar el dispositivo de representación, un requisito de PDF/A.
  • Verificador / validador de conformidad: software independiente que juzga un archivo frente a los requisitos normativos de la norma; la fuente del veredicto de conformidad.
  • Candidato de archivado: un archivo producido con la intención de ser conforme, antes de que un validador independiente haya confirmado que realmente lo es.