PDF/X-6 Authoring and Validation
O HotPDF oferece suporte a fluxos de trabalho de troca PDF/X-6 completos, com perfil externo e com N colorantes sobre PDF 2.0
Profiles
PDFXCompliance | THPDFPDFX6Profile | Perfil de saída |
|---|---|---|
'X-6' | px6Complete | Perfil ICC embutido via DestOutputProfile |
'X-6p' | px6External | Perfil ICC externo gray, RGB ou CMYK via DestOutputProfileRef |
'X-6n' | px6NChannel | Perfil externo de N colorantes mais ColorantTable correspondente |
| Detectado a partir do documento | px6Automatic | Usa a configuração do produtor ou a identificação XMP carregada |
Exemplo 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 roda validação fail-closed para os três perfis PDF/X-6 antes da serialização
Escopo do output intent
AddPDFXOutputIntentadiciona um perfil embutido no nível do Catalog para o perfil completoAddPDFX6PageOutputIntentadiciona um perfil embutido a uma páginaAddPDFX6ExternalOutputIntentadiciona uma referência de perfil externo no escopo do Catalog comPageIndex=-1ou no escopo de página com um índice de base zero- Um array
OutputIntentsno nível da página sobrepõe o array do Catalog para essa página - Cada escopo efetivo deve conter exatamente um intent PDF/X
Page boxes
O validador resolve MediaBox e CropBox herdados, checa valores diretos de BleedBox, TrimBox e ArtBox, e exige exatamente um box de página finalizada por página
- Todo retângulo deve conter quatro coordenadas finitas e ordenadas
CropBox,BleedBoxe o box de página finalizada devem permanecer dentro deMediaBoxTrimBoxeArtBoxsão mutuamente exclusivos
Restrições de intercâmbio
Uma travessia limitada do grafo checa a identificação do perfil e as estruturas de intercâmbio enquanto deduplica recursos compartilhados por identidade de objeto
- Header PDF 2.0, marcador de perfil XMP, datas, título, estado trapped, ID do trailer e ausência de criptografia
- Tipos de ação, cadeias de ações, arrays de destino, estado AcroForm e additional actions de campos
- Anotações visíveis imprimíveis com aparências normais fixas e sem subtipo PrinterMark ou TrapNet
- Programas de fontes embutidas, descendentes Type 0, tipos e faixas de valores de graphics state e XObjects de recursos
- Dados de etapa de produção de página não permitidos e dados de Catalog de apresentação alternativa ou preferências de viewer
Regras versionadas
THPDFPDFX6ValidationOptions.RuleSet seleciona as regras publicadas da ISO 15930-9:2020 ou a mesma edição com erratas resolvidas até 2025-11-11, com o conjunto de erratas resolvidas selecionado por padrão
HPDFPDFX6RuleSetRevision retorna o rótulo estável de revisão, e cada THPDFPDFX6ValidationIssue carrega RuleSet e RuleRevision para que diagnósticos armazenados permaneçam atribuíveis quando os padrões evoluírem
Cor pintada, overprint e transparência
O validador interpreta graphics state e recursos nos operadores de pintura reais, em vez de tratar a seleção de cor como saída pintada
- Arrays de content streams compartilham uma pilha única de
qeQ, enquanto cada Form XObject aplica seus recursos, matriz, transparency group e espaço de cor de blending no ponto de invocação - Paths, texto, imagens, máscaras de imagem, shadings, padrões de tiling e shading, CharProcs de glifos Type 3, grupos de soft mask e aparências de anotações são percorridos por seus dicionários de recursos efetivos
- Paths vazios, texto invisível ou apenas de clipping e glifos Type 3 não usados não geram achados de cor pintada
- Definições ICCBased, CalGray, CalRGB, Lab, Indexed, Pattern, Separation, DeviceN e NChannel são validadas estruturalmente antes de uma pintura ser classificada, incluindo checagens reais de header e componentes ICC em vez de confiar em
/N - O overprint mode 1 é checado apenas onde pinturas de processo que preservam componentes podem usá-lo, e é reportado como inaplicável para pinturas de imagem e shading
- Padrões de shading começam do estado de entrada do content stream que os contém com transparência reiniciada, e o
ExtGStatedo padrão aplica apenas os parâmetros de nonstroking usados pela pintura implícita desh - Preenchimento e traço combinados são modelados como um transparency group implícito, com igualdade exata de alpha e gates independentes de política de transparência ou overprint
- Subtipo de soft mask, grupo e estrutura do espaço de blending são checados antes da travessia; máscaras Alpha ignoram a cor do grupo, enquanto máscaras Luminosity exigem um
/CSde grupo válido e qualquer/BCdeve conter um valor numérico por componente do espaço de blending - CharProcs Type 3 exigem métricas
d0oud1iniciais com contagens exatas de operandos, larguras horizontais compatíveis com/Widths, avanço vertical zero e limitesd1ordenados;d1herda a cor do chamador enquanto ignora operadores locais de cor e transparência, proíbe imagens comuns, mas retém máscaras de imagem - Imagens JPX sem
/ColorSpaceexplícito usam metadados de cor do codestream apenas do header, com limite e cache único por stream de imagem - Quando uma anotação tem aparência fixa,
/BMaplica-se ao composto externo da aparência,/CAe/cada anotação não o sobrepõem, e os operadores dentro da aparência mantêm o próprio graphics state
Execução limitada e caching
Tetos de objetos, issues, bytes decodificados, trabalho de conteúdo, recursão e pilha de graphics state falham fechados com diagnósticos estáveis antes de alocação ilimitada, incluindo membros aninhados em arrays TJ
Conteúdo decodificado, perfis ICC, cor de header JPX e estrutura Type 3 usam caches indexados locais do documento com armazenamento de crescimento geométrico, enquanto o estado de cor e transparência sensível a contexto é reavaliado a cada invocação
Diagnósticos estruturados
ValidatePDFX6 retorna THPDFPDFX6ValidationIssues, um array de registros THPDFPDFX6ValidationIssue cujo THPDFPDFX6IssueSeverity identifica warnings e errors
Cada issue inclui um código estável, cláusula de padrão, conjunto de regras, revisão de regra, caminho do objeto, número do objeto, índice de página de base zero e mensagem
THPDFPDFX6ValidationOptions limita de forma independente objetos, issues, bytes decodificados e tokens de conteúdo, e pode isolar checagens de output intent, page box, intercâmbio, fonte, anotação, cor pintada, overprint ou transparência