Tôi phải đối phó với các CMYK JPEG được trích xuất từ nguồn PDF. Các tệp PDF đã được tạo bằng Photoshop.
Vấn đề là Photoshop lưu trữ dữ liệu JPEG CMYK trong PDF / EPS bằng cách sử dụng các giá trị "bình thường", trong khi ở các JPEG độc lập, nó lưu trữ các giá trị ngược. Vì vậy, khi các luồng DCTDecode được trích xuất tạm thời và ghi vào đĩa, các tệp JPEG kết quả sẽ xuất hiện đảo ngược.
(Việc trích xuất thực tế được thực hiện bởi một tiện ích nội bộ, đơn giản là trích xuất các byte từ luồng DCTDecode và ghi chúng, không được sửa đổi, vào một tệp kết thúc trong .jpg
đó về cơ bản là sao chép và dán nhị phân. Các tệp PDF có sẵn để gửi lại quá trình, nên được yêu cầu.)
Vì các hình ảnh phải ở định dạng JFIF của chúng, có cách nào để đặt một điểm đánh dấu vào .jpg
tệp được trích xuất để làm cho Photoshop mở nó với mã hóa phù hợp không? Quá trình phải được mất (không liên quan đến mã hóa entropy).
Các JPEG đã chứa APP14
điểm đánh dấu và loại bỏ nó không có hiệu lực.
Dưới đây là một trích dẫn từ các libjpeg
tài liệu:
"... có vẻ như Adobe Photoshop ghi dữ liệu đảo ngược trong các tệp CMYK JPEG: 0 đại diện cho độ phủ mực 100%, thay vì 0% như bạn mong đợi. ... Photoshop 3.0 [và mới hơn] ... viết YCCK không đảo ngược trong các tệp EPS / JPEG ... (Nhưng phân cực dữ liệu được sử dụng trong các tệp JPEG trần sẽ không thay đổi ...) "