RecolorDocument
색상
설명
문서의 모든 페이지를 하나의 색 공간으로 변환합니다
구문
Delphi
Function TPDFlib.RecolorDocument(TargetSpace: Integer): Integer;매개변수
| TargetSpace | 1 회색조, 2 RGB, 3 CMYK |
|---|
반환 값
| Count | 전체 문서에서 변환된 색상 수 |
|---|---|
| 0 | 변환할 항목이 없거나 TargetSpace가 1~3 범위를 벗어났습니다. 색상이 이미 대상 공간에 있는 페이지는 원래 바이트를 유지합니다 |
비고
변환은 색상 관리 방식이 아니라 일반적인 장치 산술을 사용합니다. DeviceRGB만 지정한 문서에는 변환에 사용할 프로필이 없습니다. RGB는 ITU-R BT.601의 휘도 가중치에 따라 회색으로 변환되고 CMYK는 ISO 32000-1 §8.6.4.4에 설명된 대로 변환되며, 이는 Viewer가 화면에 CMYK 문서를 표시할 때 이미 수행하는 방식임
ICCBased, Separation, Indexed 또는 Pattern 공간을 통해 설정한 색상은 그대로 둡니다 프로필 없이 해당 성분을 읽으면 페이지 모양이 유지되지 않고 바뀌므로 이러한 문서는 장치 공간을 직접 지정한 부분만 변환됩니다
페이지가 그리는 이미지도 구성 요소당 8비트, 장치 색 공간, 무압축 또는 일반 Flate 조건을 충족하면 변환됩니다. JPEG 또는 팩스 이미지는 다시 인코딩해야 하며 이는 색상 변환과 다른 작업이므로 자체 바이트를 유지합니다
인덱스 이미지는 대신 색상표를 통해 변환되므로 샘플이 기존 인덱스를 유지합니다. 이 경로는 샘플이 패킹되거나 압축된 방식과 무관하므로 샘플을 다시 기록할 수 없는 팔레트 스크린샷이나 차트도 변환할 수 있음
그라데이션은 이를 뒷받침하는 함수와 함께 변환되므로 색 공간과 중지점이 항상 일치합니다. 샘플 함수나 PostScript 함수로 만든 그라데이션은 자체 색상을 유지하며, 함수 대신 스트림에 색상을 담는 메시 음영 유형도 마찬가지입니다
소프트 마스크와 스텐실 마스크는 그대로 둡니다. 둘 다 색상이 아니라 범위로 읽으며 변환하면 페이지에 마스크가 그림으로 표시됩니다
기하, 텍스트, 클리핑 및 다른 모든 연산자를 변경 없이 다시 기록합니다
호출이 반환되면 선택한 페이지가 복원됩니다
예제
// Send a mixed-colour document to a press that expects CMYK
PDF.LoadFromFile('brochure.pdf', '');
Converted := PDF.RecolorDocument(3);
PDF.SaveToFile('brochure-cmyk.pdf');