RecolorDocument
Cor
Descrição
Move todas as páginas do documento para um espaço de cor
Sintaxe
Delphi
Function TPDFlib.RecolorDocument(TargetSpace: Integer): Integer;Parâmetros
| TargetSpace | 1 cinzento, 2 RGB, 3 CMYK |
|---|
Valores devolvidos
| Count | O número de cores convertidas em todo o documento |
|---|---|
| 0 | Nada precisava de conversão ou TargetSpace estava fora do intervalo 1 a 3. Uma página cujas cores já estejam no espaço de destino conserva os bytes originais |
Observações
A conversão utiliza aritmética normal de dispositivo, não gestão de cores: um documento que indique apenas DeviceRGB não contém um perfil através do qual efetuar a conversão. RGB é convertido em cinzento segundo os pesos de luminância de ITU-R BT.601 e CMYK é convertido conforme descrito na norma ISO 32000-1 §8.6.4.4, tal como um visualizador já faz ao apresentar um documento CMYK num ecrã
As cores definidas através de um espaço ICCBased, Separation, Indexed ou Pattern são mantidas. Ler os respetivos componentes sem o perfil alteraria a aparência da página em vez de a conservar, pelo que esse documento só é convertido nas partes que indicam diretamente um espaço de dispositivo
As imagens desenhadas por uma página também são convertidas quando têm oito bits por componente, um espaço de cor de dispositivo e nenhuma compressão ou Flate simples. Uma imagem JPEG ou de fax teria de ser novamente codificada, o que é uma operação diferente da conversão das cores, pelo que mantém os seus próprios bytes
Em alternativa, uma imagem indexada é convertida através da respetiva tabela de cores, pelo que as amostras conservam os índices que já tinham. Esse caminho não depende da forma como as amostras estão empacotadas ou comprimidas, o que permite converter uma captura de ecrã ou um gráfico com paleta mesmo que não seja possível reescrever as amostras
Os gradientes são convertidos juntamente com as funções subjacentes, para que o espaço e as paragens correspondam sempre. Um gradiente construído a partir duma função amostrada ou PostScript mantém as suas próprias cores, tal como os tipos de sombreado em malha, que transportam as cores num fluxo e não numa função
As máscaras suaves e as máscaras de stencil não são alteradas. Ambas são lidas como cobertura, não como cor, e a conversão de uma delas faria com que a página apresentasse a máscara como imagem
A geometria, o texto, o recorte e todos os outros operadores são novamente escritos sem alterações
A página selecionada é restaurada quando a chamada devolve
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');