function ValidatePdfX: TPdfXValidationResult;
ValidatePdfX recorre el documento abierto buscando marcadores de formato de archivo y reglas de contenido seleccionadas definidas por la familia ISO 15930
pdfxid:GTS_PDFXVersion (y opcionalmente pdfxid:GTS_PDFXConformance para PDF/X-1a / PDF/X-3)pdfaExtension:schemas para el espacio de nombres pdfxid (convención de esquema de extensión de XMP)/GTS_PDFXVersion del Document Information Dictionary con el mismo valor que la propiedad XMP/OutputIntents del catálogo que referencie un diccionario OutputIntent con un perfil ICC incrustado vía /DestOutputProfileprtr / CMYK admitidas, incluidas un PCS Lab o XYZ y las LUT bidireccionales requeridas, y su flujo debe declarar /N 4/Title del diccionario Info (PDF/X la recomienda encarecidamente)/ID en el trailer y la ausencia de /Encrypt (el cifrado está prohibido por todas las versiones de PDF/X)xmp:CreateDate y xmp:ModifyDate en XMP para la paridad Info / XMPpvxiInvalidOutputProfile informa de un perfil de salida PDF/X-1a no admitido, malformado o incompatible con esos requisitos, incluido un perfil RGB disfrazado con /N 4 o un recuento de componentes incorrecto. Tanto el validador disperso como el de compatibilidad realizan esta comprobación; una referencia /DestOutputProfile por sí sola ya no establece un perfil PDF/X-1a aceptable
El resultado es un registro TPdfXValidationResult:
pxc1a, pxc3, pxc4 o pxc6; pxcNone y pxcUnknown no establecen un nivel PDF/X reconocidoTPdfXValidationIssues que cubre metadatos, paridad del diccionario Info, forma del OutputIntent, cifrado, contenido activo prohibido, incrustación de fuentes, restricciones de transparencia y espacios de color, presencia de TrimBox, geometría de cajas de página y estado de trappedConformance es un nivel real de PDF/X y Issues está vacíoValidatePdfX es una inspección de solo lectura. Úsela antes de enviar una
carga PDF/X a un flujo de trabajo de preimpresión para hacer visible la no conformidad
al operador. Para la comprobación común de "¿qué nivel PDF/X es este?" que
no necesita la lista de problemas, prefiera la propiedad más ligera
PdfXConformance
pvxiInfoVersionMismatch solo cuando tanto Info /GTS_PDFXVersion como XMP pdfxid:GTS_PDFXVersion están presentes y discrepanConformance = pxcUnknown y un conjunto Issues vacíoPDF/X-1, PDF/X-3, PDF/X-4 o PDF/X-6; el reconocimiento del marcador por sí solo no es un veredicto de conformidad
uses System.TypInfo;
var
Outcome: TPdfXValidationResult;
Issue: TPdfXValidationIssue;
begin
Pdf1.FileName := 'C:\Incoming\ad.pdf';
Pdf1.Active := True;
Outcome := Pdf1.ValidatePdfX;
Memo1.Lines.Add('Level: ' + GetEnumName(TypeInfo(TPdfXConformance),
Ord(Outcome.Conformance)));
for Issue in Outcome.Issues do
Memo1.Lines.Add('- ' + GetEnumName(TypeInfo(TPdfXValidationIssue), Ord(Issue)));
end;