Как Apple получает доступ к UIWebView PDF-строкам для элементов sharedMenuController?

Я пытаюсь получить доступ к строкам в PDF, загруженном удаленно в UIWebView, Поскольку Apple имеет параметры копирования / определения, перечисленные для UIMenuController предметы, я думал, что это будет так же просто, как реализация stringByEvaluatingJavaScriptFromString декларация для использования с моим пользовательским элементом shareMenuController. Однако это работает универсально для большинства веб-страниц и текстовых диапазонов, за исключением удаленных PDF-файлов. Как Apple получает доступ к этим строкам, чтобы скопировать выбранные диапазоны в буфер обмена или определить?


Исправление:

Я только что проверил "определить" sharedMenuController элемент, заполненный Apple, когда текст выделен в UIWebView Формат документа PDF и возникает ошибка:

+ [_ UIDictionaryManager _availableDefinitionDictionaries] вернул ноль. Ошибка: Ошибка Домен = Код ASError =21 "Операция не может быть завершена. (Ошибка 21 ASError - Невозможно скопировать информацию об активе)"

Я также заметил, что в Safari вы не можете искать текст в формате PDF по поисковому запросу пользователя. Так что я полагаю, у них есть проблемы с его извлечением. Могут быть проблемы с памятью, я не уверен, но они все еще могут скопировать выделенный текст в буфер обмена. Как бы мы подражали этому и обрабатывали скопированный текст сами?

1 ответ

К сожалению, то, что вы спросили, не может быть сделано в iOS с текущим API UIWebView. Apple использует частную среду для извлечения текста из PDF-файлов, и эта среда не доступна для внешних приложений.

Другие вопросы по тегам