Conformidade PDF/X: o output intent de produção gráfica emitido pelo NextPDF
Visão geral
Seção intitulada “Visão geral”Declaração de limite. Um perfil testado não equivale a uma certificação.
Ressalva de escopo (leia primeiro). A ISO 15930 (o padrão da família PDF/X) não está no corpus de verificação do NextPDF. Esta página não reivindica certificação independente PDF/X-4 ou PDF/X-6. O NextPDF emite o output intent de produção gráfica e a infraestrutura de perfis do International Color Consortium (ICC) que os fluxos PDF/X exigem. O NextPDF verifica essas estruturas em relação à ISO 32000-2 §14.11.5 (o dicionário OutputIntent que a ISO 15930 importa por referência) e à estrutura de perfil ICC.1 / ISO 15076-1. Uma ferramenta de preflight de pré-impressão externa, e não esta biblioteca, decide se um arquivo está em conformidade com uma parte do PDF/X.
O NextPDF Core emite um OutputIntent /GTS_PDFX que referencia um DestOutputProfile ICC embutido quando um espaço de trabalho de gamut amplo é selecionado. O NextPDF Core restringe o perfil ICC embutido à versão 4. Esses artefatos são os pré-requisitos estruturais verificados por um preflight PDF/X-4 / PDF/X-6. A biblioteca os produz. Uma ferramenta de preflight decide a conformidade.
Instalação
Seção intitulada “Instalação”composer require nextpdf/core:^3O caminho de output intent do PDF/X é uma capacidade do Core. O OutputColorProfile do documento controla esse caminho. Você não precisa de um pacote Premium para o próprio OutputIntent GTS_PDFX.
Visão conceitual
Seção intitulada “Visão conceitual”NextPDF\Core\OutputColorProfile seleciona o espaço de trabalho: DeviceRGB (padrão, sem intent de gamut amplo), DisplayP3, Rec2020, A98RGB, ou ProphotoRGB. Quando você seleciona qualquer caso de gamut amplo, o PdfWriter emite, conforme a ISO 32000-2 §14.11.5:
- um dicionário
/Type /OutputIntent /S /GTS_PDFXno array/OutputIntentsdo catálogo; - um fluxo (stream) ICC embutido como o
DestOutputProfile(o perfil do espaço de trabalho, por exemplodisplay-p3-v4.icc); - os campos de
OutputConditionIdentifier/ registro exigidos pelo dicionário.
NextPDF\Graphics\ColorSpace\IccVersionTier restringe o perfil embutido. V4 é obrigatório para output intents PDF 2.0 / PDF/A-4 / PDF/X-6. requiresV4Strict() rejeita um perfil v2 para que uma reivindicação PDF/X-6 não seja feita com um perfil ICC não-v4. Esse é o pré-requisito estrutural que um preflight PDF/X-6 verifica; não é o próprio preflight.
Superfície da API
Seção intitulada “Superfície da API”| Símbolo | Efeito |
|---|---|
OutputColorProfile (enum) | Discrimina o espaço de trabalho; casos de gamut amplo acionam a emissão do OutputIntent /GTS_PDFX. |
OutputColorProfile::isWideGamut(): bool | É verdadeiro para qualquer caso não-DeviceRGB. |
OutputColorProfile::iccFilename(): ?string | O recurso de perfil ICC embutido para o caso. |
IccVersionTier::requiresV4Strict() | Gate que rejeita perfis ICC não-v4 ao reivindicar estrutura PDF/A-4 / PDF/X-6. |
Exemplo de código — Início rápido
Seção intitulada “Exemplo de código — Início rápido”<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Core\Config;use NextPDF\Core\Document;use NextPDF\Core\OutputColorProfile;
$out = getenv('NEXTPDF_COOKBOOK_OUTPUT') ?: __DIR__ . '/print.pdf';
$config = new Config(outputColorProfile: OutputColorProfile::DisplayP3);$doc = Document::createStandalone($config);$doc->setTitle('Print production sample');$doc->writeHtml('<h1>Wide-gamut artwork</h1>');$doc->save($out); // /GTS_PDFX OutputIntent + display-p3-v4.icc emitted here
echo "Wrote {$out} — run an external PDF/X preflight to validate.\n";Exemplo de código — Produção
Seção intitulada “Exemplo de código — Produção”Em produção, envie a saída para um preflight de pré-impressão externo: a ferramenta de referência do fluxo de impressão de destino. Trate o relatório do preflight como o gate. O NextPDF emite o OutputIntent GTS_PDFX e o ICC v4. A ferramenta de preflight determina a conformidade PDF/X-4 / PDF/X-6. O NextPDF não fornece um validador PDF/X.
Casos extremos & pegadinhas
Seção intitulada “Casos extremos & pegadinhas”- DeviceRGB não emite nenhum intent PDF/X. O perfil padrão é idêntico byte a byte à saída legada e não carrega nenhum OutputIntent
/GTS_PDFX. Você deve selecionar explicitamente um perfil de gamut amplo para um fluxo PDF/X. - Um perfil ICC v2 bloqueia uma reivindicação PDF/X-6.
requiresV4Strict()rejeita um perfil v2; não reivindique estrutura PDF/X-6 com um perfil ICC não-v4. - Cores spot / sobreimpressão. Fluxos completos PDF/X-1a/X-3 CMYK + cores spot ficam fora do escopo do caminho de OutputIntent do Core. Esta página cobre apenas o output intent baseado em ICC do PDF/X-4 / PDF/X-6.
- Nenhuma reivindicação de certificação. Emitir o OutputIntent é suporte estrutural. A conformidade PDF/X é um veredito de preflight, não um estado da biblioteca.
Desempenho
Seção intitulada “Desempenho”Um OutputIntent de gamut amplo adiciona um fluxo (stream) ICC embutido em save(). Seu tamanho é fixo para o espaço de trabalho. Orçado em wall ≤ 1500 ms, pico ≤ 128 MB.
Notas de segurança
Seção intitulada “Notas de segurança”Output intents de produção gráfica são metadados de gerenciamento de cores, não controles de segurança. O perfil ICC embutido contém dados públicos.
Residência de Dados & Mitigações de PII
Seção intitulada “Residência de Dados & Mitigações de PII”A emissão do OutputIntent ocorre dentro do processo. Apenas o documento e o perfil ICC embutido são gravados. Nenhum conteúdo deixa o processo; o perfil não carrega nenhuma informação de identificação pessoal (PII).
Telemetria Segura & Limpeza de Logs
Seção intitulada “Telemetria Segura & Limpeza de Logs”O exemplo registra apenas o caminho de saída e uma dica de validação. Ele não registra nenhum byte do documento; NEXTPDF_COOKBOOK_OUTPUT é respeitado.
Modelo de ameaças
Seção intitulada “Modelo de ameaças”Um arquivo PDF/X não tem controle de acesso. O OutputIntent fornece reprodutibilidade de cor para uma condição de impressão, não confidencialidade.
Comportamento no modo FIPS
Seção intitulada “Comportamento no modo FIPS”O caminho de OutputIntent do PDF/X não realiza nenhuma criptografia. O modo FIPS não tem efeito.
Conformidade
Seção intitulada “Conformidade”| Reivindicação | Spec | Cláusula | reference_id |
|---|---|---|---|
| Um OutputIntent referencia um fluxo (stream) ICC DestOutputProfile para a condição de renderização de saída. | ISO 32000-2 | §14.11.5 | |
| O OutputIntent carrega um OutputConditionIdentifier / identificador de registro. | ISO 32000-2 | §14.11.5 | |
| Output intents residem no array OutputIntents do catálogo do documento. | ISO 32000-2 | §14.11.5 | |
| Um perfil ICC em conformidade carrega um cabeçalho definido com um campo de versão. | ICC.1 / ISO 15076-1 | §7 | |
| O DestOutputProfile embutido usa a estrutura de perfil ICC v4. | ICC.1 / ISO 15076-1 | §7 |
ISO 15930 (PDF/X) não está no corpus de verificação. As reivindicações acima são os pré-requisitos da ISO 32000-2 §14.11.5 + ICC.1 que um preflight PDF/X verifica. As citações são ponteiros de clause-id + reference_id para o corpus de verificação (manifesto). Nenhum texto de norma é reproduzido.