Включить цветовой профиль ICC в PDF, созданный с помощью Objective-C iOS?

В моем приложении Objective-C для iOS я создаю PDF-файлы, используя код:

UIGraphicsPDFRenderer* renderer = [[UIGraphicsPDFRenderer alloc] initWithBounds:pdfSize];
NSData* outputPdfData = [renderer PDFDataWithActions:^(UIGraphicsPDFRendererContext * _Nonnull context) {
    [context beginPage];

    // draw operations here
}];

Конечная цель - отправить этот PDF-документ в AirPrinter.

Однако из-за используемого нами принтера, похоже, потребуется встроить в PDF цветовой профиль ICC (возможно, CMYK), чтобы обеспечить точную цветопередачу.

Я делал такие операции раньше в.Net, но никогда в Objective-C, и до сих пор весь мой поиск в Интернете был бесполезным.

Можно ли встраивать цветовые профили ICC в контекст PDF в Objective-C, используя описанный выше подход, или, если нет, существует ли другой способ создания PDF-файлов в Objective-C, который позволяет встраивать профили ICC?

2 ответа

Решение

После долгих поисков я пришел к выводу, что это невозможно. Документация очень тонкая, и то, что существует, обычно относится к Mac OSX, а не к iOS. ColorSync, как предложил Moose, по-видимому, ограничен изображениями и элементами пользовательского интерфейса, и я не вижу способа включить его в создание PDF. Закрытие.

Возможно, вы могли бы попытаться создать профиль colorSync для используемого вами принтера и позволить системе правильно подготовить ваш документ для этого принтера или любого другого.

ColorSync поддерживается начиная с OS9.3 на устройствах iOS.

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