Мне нужно преобразовать PDF-файл в изображение с очень высоким разрешением (скажем, до и даже более 100 000 * 80 000 пикселей).
Мне удалось сделать это, не выходя из оперативной памяти, разделив визуализацию на несколько фрагментов, а затем визуализируя каждый с помощью NSOperationQueue, в основном отрисовывая представление pdf NSImage в новый NSImage с помощью drawInRect: fromRect: operation: дробь: а затем сохраняя представление TIFFRepresentation в файл.
Все хорошо, многоядерно и быстро, и я почти доволен. В любом случае мне нужно будет снова присоединить эти фрагменты после их рендеринга, чтобы получить один файл TIFF.
Я бы попытался объединить файлы с помощью NSInputStream и NSOutputStream, но поскольку каждый файл является полным представлением TIFF, объединение необработанных байтов приведет к нечитаемому файлу изображения. Есть ли способ объединить файлы изображений вместе без их полной загрузки в RAM, т.е. без использования методов NSImage?
В противном случае я мог бы сохранить необработанные байты пикселей вместо представлений tiff, а затем присоединить их с помощью NSInputStream / NSOutputStream, но тогда как я мог бы преобразовать весь файл байтов в узнаваемый TIFF, снова не загружая огромную вещь в RAM?