CGPDFDocument не может нарисовать jpeg2000? - PullRequest
0 голосов
/ 10 января 2011

HI, ребята. Я использую этот код для рисования pdf, но я сжал изображение pdf до jpeg2000. Поэтому cgpdfdocument не может декодировать jpeg2000, просто показывает примечание, но пусто. Как я могу сделать это для декодирования jpeg2000? Спасибо. Любой совет будет благодарен.

CGPDFDocumentRef document;
CGPDFPageRef page;
CGRect box;
document = MyGetPDFDocumentRef (filename); // 1
page = CGPDFDocumentGetPage (document, pageNumber); // 2
CGContextDrawPDFPage (myContext, page); // 3
CGPDFDocumentRelease (document);

1 Ответ

0 голосов
/ 16 апреля 2016

Вероятно, это ошибка в библиотеке Apple CoreGraphics. Движок Apple определенно поддерживает JPEG 2000, хотя код распаковки очень медленный, он, безусловно, работает.

Существует даже пример с открытым исходным кодом , который показывает, как распаковать JPEG 2000 с помощью ImageIO - однако это не поможет вам, кроме как ответить на вопрос о совместимости с JPEG 2000.

Рекомендую отправить радар с неисправным PDF на radar.apple.com.

Однако не надейтесь, что это будет исправлено в ближайшее время. За прошедшие годы мы сообщили о бесчисленных проблемах рендеринга с механизмом рендеринга CoreGraphics PDF, которые мы использовали в коммерческом пакете PSPDFKit SDK v1-v4. С выпуском v5 в прошлом году мы наконец-то закончили и переключились на наш собственный движок рендеринга, который улучшил многие проблемы, которые есть у движка Apple, особенно с более экзотическими файлами или форматами сжатия. Вы можете попробовать наш SDK и механизм рендеринга и , пожалуйста, сообщите нам об ошибке, если вы найдете файл, который рендерит в Adobe Acrobat, но не наш SDK - мы действительно хороши с точки зрения совместимости сейчас и доверяют крупным брендам, таким как Dropbox или IBM.

...