Проблемы гаммы / цветового пространства при использовании CGContextDrawPDFPage

Я рендеринг PDF-файла на iPad с использованием основной графики.

Тем не менее цвета выглядят иначе, чем PDF при его открытии с помощью предварительного просмотра OS X или акробата.

Вот картинка с изображением левого от Acrobat, правого в симуляторе iOS:

У кого-нибудь есть идеи, что я могу делать не так? Я не делаю ничего особенного с моим графическим контекстом, кроме перевода / масштабирования, отсечения, а затем вызова CGContextDrawPDFPage

(Пока что я только попробовал на симуляторе iOS.)

2 ответа

Решение

Вам нужно использовать профиль RGB, а не профиль CMYK.

Вы можете преобразовать свой PDF с помощью кварцевого фильтра. Он интегрирует новый цветовой профиль в ваш документ, например, "Apple RGB".

Это старый поток, но проблема все еще сохраняется с iOS 9.3.2.

Исправление, которое, кажется, не является приоритетом в Apple. И я не могу их винить - у них есть большие проблемы, которые нужно решить. Мы сообщили об этой ошибке несколько лет назад и переключились на собственный движок рендеринга в коммерческом пакете PSPDFKit SDK для iOS и Android. (Отказ от ответственности: я работаю там)

Преобразование цвета - единственный известный обходной путь, но для его изменения требуется Adobe Acrobat и шаги вручную. Мы решили, что это не то, чем мы можем обременять наших клиентов, поэтому в конечном итоге мы заменили движок рендеринга Apple - полный контроль также позволил нам сделать вещи быстрее и стабильнее. У нас есть документ, который предоставляет некоторые ресурсы о том, как начать писать собственный рендер.

Пожалуйста, также сообщите о радаре на http://radar.apple.com/ - это то, что в конечном итоге должно быть исправлено, и Apple определяет приоритет запросов на основе количества запросов. Опять же, есть еще много открытых сбоев и ошибок, таких как пропущенный текст, которые у нас все еще открыты со времени, когда мы все еще использовали CGPDFпоэтому я предполагаю, что они будут иметь более высокий приоритет.

Этот документ поддержки от Adobe описывает, как вы можете преобразовать цвета: https://helpx.adobe.com/acrobat/using/color-conversion-ink-management-acrobat.html

Другие вопросы по тегам