Autoría y validación PDF/X-6
HotPDF soporta workflows de intercambio PDF/X-6 completos, con perfil externo y de N colorantes sobre PDF 2.0
Perfiles
PDFXCompliance | THPDFPDFX6Profile | Perfil de salida |
|---|---|---|
'X-6' | px6Complete | Perfil ICC incrustado mediante DestOutputProfile |
'X-6p' | px6External | Perfil ICC externo gray, RGB o CMYK mediante DestOutputProfileRef |
'X-6n' | px6NChannel | Perfil externo de N colorantes más un ColorantTable coincidente |
| Detectado desde el documento | px6Automatic | Usa la configuración del producer o la identificación XMP cargada |
Ejemplo de perfil completo
PDF.Version := pdf20;
PDF.PDFXCompliance := 'X-6';
PDF.Title := 'Press-ready artwork';
PDF.Trapped := 'False';
PDF.BeginDoc;
PDF.CurrentPage.SetTrimBox(0, 0,
PDF.CurrentPage.Width, PDF.CurrentPage.Height);
PDF.AddPDFXOutputIntent('CGATS TR 001',
'Document printing condition', ICCStream, 4, 'DeviceCMYK');
PDF.EndDoc;
EndDoc ejecuta la validación fail-closed para los tres perfiles PDF/X-6 antes de la serialización
Alcance del output intent
AddPDFXOutputIntentagrega un perfil incrustado a nivel Catalog para el perfil completoAddPDFX6PageOutputIntentagrega un perfil incrustado a una páginaAddPDFX6ExternalOutputIntentagrega una referencia de perfil externo a alcance Catalog conPageIndex=-1o a alcance de página con un índice base cero- Un arreglo
OutputIntentsa nivel de página sobrescribe el arreglo del Catalog para esa página - Cada alcance efectivo debe contener exactamente un intent PDF/X
Page boxes
El validador resuelve el MediaBox y el CropBox heredados, verifica los valores directos de BleedBox, TrimBox y ArtBox, y exige exactamente un page box de página terminada por página
- Cada rectángulo debe contener cuatro coordenadas finitas y ordenadas
CropBox,BleedBoxy el page box de página terminada deben quedar dentro delMediaBoxTrimBoxyArtBoxson mutuamente excluyentes
Restricciones de intercambio
Un único recorrido acotado del grafo verifica la identificación del perfil y las estructuras de intercambio mientras deduplica los recursos compartidos por identidad de objeto
- Header PDF 2.0, marcador de perfil XMP, fechas, título, estado trapped, trailer ID y ausencia de cifrado
- Tipos de actions, cadenas de actions, arreglos de destinos, estado AcroForm y additional actions de campos
- Anotaciones visibles imprimibles con normal appearances fijas y sin subtype PrinterMark ni TrapNet
- Programas de fuentes incrustados, descendientes Type 0, tipos y rangos de valores del graphics state, y resource XObjects
- Datos de production-step de página no permitidos y datos de Catalog de alternate-presentation o viewer-preference
Reglas versionadas
THPDFPDFX6ValidationOptions.RuleSet selecciona las reglas publicadas de ISO 15930-9:2020 o la misma edición con las erratas resueltas hasta 2025-11-11, con el conjunto de erratas resueltas seleccionado de forma predeterminada
HPDFPDFX6RuleSetRevision devuelve la etiqueta de revisión estable, y cada THPDFPDFX6ValidationIssue lleva tanto RuleSet como RuleRevision para que los diagnósticos almacenados sigan siendo atribuibles cuando los predeterminados evolucionen
Color pintado, overprint y transparencia
El validador interpreta el graphics state y los recursos en los operadores de pintado reales, en lugar de tratar la selección de color como salida pintada
- Los arreglos del content stream comparten una única pila de
qyQ, mientras que cada Form XObject aplica sus recursos, matriz, transparency group y blending colour space en el punto de invocación - Los paths, texto, imágenes, image masks, shadings, tiling y shading patterns, CharProcs de glifos Type 3, soft-mask groups y appearance streams de anotaciones se recorren a través de sus resource dictionaries efectivos
- Los paths vacíos, el texto invisible o de solo clipping y los glifos Type 3 sin uso no generan hallazgos de color pintado
- Las definiciones ICCBased, CalGray, CalRGB, Lab, Indexed, Pattern, Separation, DeviceN y NChannel se validan estructuralmente antes de clasificar una pintura, incluyendo verificaciones reales del header ICC y de componentes en lugar de confiar en
/N - El overprint mode 1 se verifica solo donde las pinturas de proceso que preservan componentes pueden usarlo, y se reporta como no aplicable para pinturas de imagen y shading
- Los shading patterns parten del estado de entrada del content stream que los encierra con la transparencia reiniciada, y su
ExtGStatede pattern aplica solo los parámetros nonstroking usados por la pintura implícita desh - El relleno y trazo combinados se modelan como un transparency group implícito, con igualdad exacta de alpha y gates independientes de política de transparencia u overprint
- El subtype, group y blending space del soft mask se verifican antes del recorrido; las Alpha masks ignoran el color del grupo, mientras que las Luminosity masks exigen un
/CSde grupo válido y cualquier/BCdebe contener un valor numérico por componente del blending space - Los CharProcs Type 3 exigen métricas
d0od1iniciales con conteos exactos de operandos, anchos horizontales que coincidan con/Widths, avance vertical cero y límitesd1ordenados;d1hereda el color del llamador mientras ignora los operadores locales de color y transparencia y prohíbe imágenes regulares, pero conserva las image masks - Las imágenes JPX sin un
/ColorSpaceexplícito usan metadata de color del codestream de solo header, acotada y cacheada una vez por stream de imagen - Cuando una anotación tiene una apariencia fija,
/BMaplica al compuesto exterior de la apariencia, la/CAy la/cade la anotación no lo sobrescriben, y los operadores dentro de la apariencia conservan su propio graphics state
Ejecución acotada y cacheo
Los techos de objetos, issues, bytes decodificados, trabajo de contenido, recursión y pila de graphics state fallan de forma cerrada con diagnósticos estables antes de cualquier asignación sin acotar, incluyendo miembros anidados dentro de arreglos TJ
El contenido decodificado, los perfiles ICC, el color del header JPX y la estructura Type 3 usan caches indexados locales al documento con almacenamiento de crecimiento geométrico, mientras que el estado de color y transparencia sensible al contexto se reevalúa para cada invocación
Diagnóstico estructurado
ValidatePDFX6 devuelve THPDFPDFX6ValidationIssues, un arreglo de records THPDFPDFX6ValidationIssue cuyo THPDFPDFX6IssueSeverity identifica warnings y errores
Cada issue incluye un código estable, cláusula del estándar, rule set, revisión de regla, path del objeto, número de objeto, índice de página base cero y mensaje
THPDFPDFX6ValidationOptions acota de forma independiente objetos, issues, bytes decodificados y tokens de contenido, y puede aislar las verificaciones de output intent, page boxes, intercambio, fuentes, anotaciones, color pintado, overprint o transparencia