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 .jpgtệ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 libjpegtà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 ...) "