Показать PDF в iPad с использованием API CGPDF
Я узнал, что Apple выпустила CGPDF API в SDK 3.2 для рисования контекста PDF.
Что я понимаю из этих API-интерфейсов, так это то, что вы можете нарисовать PDF файл для объекта данных или PDF файла. Затем вы можете экспортировать его, может быть, в свою папку с песочницей или добавить в качестве вложения в почту.
Но я не уверен, можем ли мы использовать эти API для чтения PDF файла из пакета приложений и показывать его пользователю по страницам на экране. Что я хочу сделать, так это открыть PDF-журнал журнала в приложении для чтения журналов.
Мне также было интересно узнать, можно ли идентифицировать ссылки в PDF файле и открыть их в приложении.
Сообщите мне, если сделали ИЛИ делали что-либо подобное.
Спасибо
AJ
Ответы
Ответ 1
В документации API есть способ загрузить PDF (с Quartz):
CGPDFDocument - это тот объект, который вам нужен
и CGPDFDocumentCreateWithURL, вероятно, является конструктором, который вы ищете.
Вот несколько примеров того, как это сделать:
http://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_pdf/dq_pdf.html#//apple_ref/doc/uid/TP30001066-CH214-TPXREF109
Я потратил много времени на это - и, похоже, вам нужно использовать CATiledLayers для правильного масштабирования этих PDF файлов!
В сети есть несколько хороших примеров того, как это сделать...
Я поставлю ссылку/решение здесь, как только у меня будет что-то готовое!
Ответ 2
Отображение PDF с помощью API Quartz довольно просто. Но нет никакой поддержки для аннотаций ссылок. В принципе, вам нужно проанализировать словарь "Annots" внутри pdf, а затем найти правильную страницу (которая может быть ссылками GoTo или именованными ссылками или ~ 10 другими типами, см. Adobe PDF Reference 1.7, раздел о действиях) и вычислить координаты на отображаемой странице.
Я написал [коммерческую] библиотеку, которая включает в себя парсинг аннотации ссылок и многие другие функции. Вы можете посмотреть http://pspdfkit.com