Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Преобразуйте страницы любого документа в изображения

Автор вопроса: Swapnil LuktukeОтветов: 2

Преобразование страниц PDF в изображения может быть достигнуто путем рендеринга каждой страницы PDF в контексте растрового изображения (CGContextDrawPDFPage).

Можем ли мы сделать то же самое с другими типами документов (iWork, MS Office и т. Д.).

Мы можем просто показать предварительный просмотр всех этих документов с помощью UIDocumentInteractionController или QuickLook framework. Но ни то, ни другое не может быть настроено или не дает мне доступа к отдельным страницам.

То же самое и с UIDocument. Он может предоставить мне все содержимое как NSData или NSFileWrapper, но я не уверен, как мне отобразить его постранично (скажем, в контексте растрового изображения).

Есть ли способ преобразовать другие страницы документа в изображения?

ОБНОВИТЬ:

Пока в этом направлении нет прогресса. UIWebView, UIDocumentInterationController и QLPreview - единственные вещи, которые я смог найти даже для просмотра документов office / iWork, не говоря уже о преобразовании их в изображения.

Есть ли у кого-нибудь опыт / идея по настройке контроллера взаимодействия с документами или контроллера быстрого просмотра для рендеринга документов постранично?

  • Я также хочу реализовать это, но не нашел другого решения, кроме uiwebview harshalb 04.06.2012

iosiphonedocument

Ответы

Ответ 1 · Vignesh

Я думаю, вы можете открыть документ в UIWebview и сделать снимок экрана.

Ответ 2 · Caleb

Вы можете, если знаете, как отображать контент для рассматриваемых типов документов. QA1630 содержит некоторые подсказки, включая список типов документов, которые вы можете отображать их в UIWebView, хотя неясно, легко ли разбить такие документы на страницы таким образом.

UIDocument - это абстрактный класс - он ничего не знает о конкретных типах документов. Вы должны создать подкласс UIDocument, чтобы предоставить подробную информацию о том, как форматируются данные. Таким образом, вы сможете отображать свои собственные типы документов, но вы не сможете отображать документы из других приложений, если не знаете, как эти документы хранят свои данные.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы