function ValidatePdfE: TPdfEValidationResult;
ValidatePdfE recorre el documento abierto buscando los
marcadores de formato de archivo PDF/E-1 definidos por ISO 24517-1:2008
pdfe:ISO_PDFEVersion (§5 + §13.3)pdfaExtension:schemas para el espacio de nombres pdfe (requisito de esquema de extensión de XMP Specification 2004, heredado a través de §13.1)/ISO_PDFEVersion con un valor de cadena literal (§5 SHALL)/ID en el trailer (§6.2)xmp:CreateDate y xmp:ModifyDate en XMP (heredadas de ISO 19005-1 §6.7 a través de §13.1)The result is a TPdfEValidationResult record:
pec1 (identificador PDF/E-1 encontrado y no vacío), pecNone (sin marcador PDF/E) o pecUnknown (análisis fallido o marcador presente pero sin valor)TPdfEValidationIssues que contiene cero o más valores: pveiMissingXmpMetadata, pveiMissingPdfEIdentifier, pveiMissingExtensionSchema, pveiMissingInfoVersionEntry, pveiInfoVersionMismatch, pveiMissingTrailerId, pveiMissingXmpDatesValidatePdfE es una inspección de solo lectura — no modifica
el documento y es seguro llamarlo repetidamente. Úsalo antes de introducir una
carga útil PDF/E en un archivo de ingeniería para mostrar las
no conformidades a nivel de formato que esta biblioteca puede detectar. Para la
comprobación común de "is this PDF/E-1?" que no necesita la lista de problemas,
prefiere la propiedad PdfEConformance, más ligera
ValidatePdfE es una inspección a nivel de formato de archivo — no impone reglas de PDF/E a nivel de contenido (completitud de incrustación de fuentes, ToUnicode CMaps, Reference XObjects / PostScript XObjects / TR / TR2 != Default / XFA forms / JavaScript actions prohibidos, etc.). Para una validación completa combina este método con una herramienta externa como callas pdfaPilot o axesPDFpveiInfoVersionMismatch solo cuando both Info /ISO_PDFEVersion y XMP pdfe:ISO_PDFEVersion están presentes y discrepan. Cuando falta la entrada Info, el validador informa solo pveiMissingInfoVersionEntry (sin discrepancia espuria)ValidatePdfE sobre un documento inactivo devuelve un registro con Conformance = pecUnknown y un conjunto Issues vacío
uses System.TypInfo;
var
Outcome: TPdfEValidationResult;
Issue: TPdfEValidationIssue;
begin
Pdf1.FileName := 'C:\Incoming\drawing.pdf';
Pdf1.Active := True;
Outcome := Pdf1.ValidatePdfE;
Memo1.Lines.Add('Level: ' + GetEnumName(TypeInfo(TPdfEConformance),
Ord(Outcome.Conformance)));
for Issue in Outcome.Issues do
Memo1.Lines.Add('- ' + GetEnumName(TypeInfo(TPdfEValidationIssue), Ord(Issue)));
end;