• 배경 :PDF의 TIFF에 색상 대역 적용
PDF 도구로 AFP를 개발 중입니다. AFP (Advanced Function Processing) 파일을 PDF로 변환하는 작업입니다. 자세한 문제 문 •
:
우리는 임베디드 TIFF 이미지와 AFP 파일이 있습니다. 이미지 오브젝트 (45) 설정 기능에 설명되어 다소 다음과 같이 표현 -
Image Content Begin Tile Image Encoding Parameter – TIFF LZW Begin Transparency Mask Image Encoding Parameter – G4MMR Image Data Elements End Transparency Mask Image Data Elements (IDE Size 32) – 4 bands: CMYK End Tile End Image Content
우리는 중 하나를 사용하여 Java /이 iText API PDF로이 타일 이미지를 쓰고 싶어요. 현재 G4MMR 이미지를 작성할 수 있습니다. 그러나이 이미지에는 CMYK 색상 밴드 데이터 (파란색 색상)를 적용 할 수 없습니다.
• 해결책 시도 :
코드는 다음과 같이 G4MMR 이미지가 간다 작성 -
saveAsTIFF 방법이 여기에 주어집니다 - 언급 한 바와 같이 http://www.jpedal.org/PDFblog/2011/08/ccitt-encoding-in-pdf-files-converting-pdf-ccitt-data-into-a-tiff/ , 우리는 CMYK 4 밴드를 적용 할 수없는 이미지 컬러 데이터를이 G4MMR 이미지에 저장합니다.ByteArrayOutputStream decode = saveAsTIFF(<width>,<height>,<imageByteData>); RandomAccessFileOrArray ra=new RandomAccessFileOrArray(saveAsTIFF.toByteArray()); int pages = TiffImage.getNumberOfPages(ra); for(int i1 = 1; i1 <= pages; i1++){ img1 = TiffImage.getTiffImage(ra, i1); } img1.scaleAbsolute(256, 75); document.add(img1);
기술은 각 구성 요소의 버전 스택 • :
1. JDK 1.6
2. itextpdf-5.1
-
를 살펴 보시기 바랍니다? – UmeshPathak
죄송합니다. LZW 인코딩을 의미 할 때 LZW 암호화를 사용했습니다 (답변을 편집했습니다). 간단한 LZW 코덱을 사용해야합니다. 또 다른 옵션은 libtiff를 사용하는 것입니다 (자바 바인딩이 있는지는 모르겠지만). 만약 디코딩하지 않고 각 밴드를 저장할 수있는 TIFFWriteRawStrip 메소드를 노출시키는 방법입니다. 그런 식으로 가고 싶다면 * 처럼 –