RecolorDocument
Cor
Descrição
Converte todas as páginas do documento para um único espaço de cor
Sintaxe
Delphi
Function TPDFlib.RecolorDocument(TargetSpace: Integer): Integer;Parâmetros
| TargetSpace | 1 grey, 2 RGB, 3 CMYK. |
|---|
Valores retornados
| Count | Quantas cores foram convertidas em todo o documento. |
|---|---|
| 0 | Nada precisava de conversão, ou TargetSpace estava fora de 1 a 3. Uma página cujas cores já estão no espaço alvo mantém os bytes originais dela. |
Observações
A conversão usa a aritmética comum de device, não gerenciada por perfil de cor: um documento que declara apenas DeviceRGB não carrega perfil nenhum pelo qual converter. RGB vira cinza pelos pesos de luminância do ITU-R BT.601, e CMYK converte como descrito na ISO 32000-1 §8.6.4.4 — que é o que um visualizador já faz ao exibir um documento CMYK na tela.
Cores definidas via espaço ICCBased, Separation, Indexed ou Pattern ficam como estão. Ler os componentes sem o perfil deles mudaria a aparência da página em vez de preservá-la, então tal documento é convertido apenas nas partes que nomeiam diretamente um device space.
As imagens que uma página desenha também são convertidas, quando a imagem tem oito bits por componente, um espaço de cor de dispositivo e nenhuma compressão ou Flate simples Uma imagem JPEG ou fax teria de ser recodificada, o que é uma operação diferente de converter suas cores, então ela mantém seus próprios bytes
Uma imagem indexada é convertida através de sua tabela de cores, de modo que suas amostras mantêm os índices que já tinham Esse caminho não se importa com o empacotamento ou a compressão das amostras, e é assim que uma captura de tela ou gráfico com paleta converte mesmo que suas amostras não pudessem ser reescritas
Gradientes são convertidos junto com as funções por trás deles, de modo que o espaço e as stops sempre concordam Um gradiente construído a partir de uma função sampled ou PostScript mantém suas próprias cores, assim como os tipos mesh shading, que carregam suas cores em um stream em vez de em uma função
Soft masks e stencil masks ficam de fora Ambos são lidos como cobertura em vez de cor, e converter um deles deixaria a página exibindo a máscara como uma figura
Geometria, texto, clipping e todos os demais operators são gravados de volta sem alteração.
A página selecionada é restaurada quando a chamada retorna
Exemplo
// Send a mixed-colour document to a press that expects CMYK
PDF.LoadFromFile('brochure.pdf', '');
Converted := PDF.RecolorDocument(3);
PDF.SaveToFile('brochure-cmyk.pdf');