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