Включить цветовой профиль 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.