После двух дней попыток прочитать аннотации из PDF-файла с помощью Quartz мне удалось это сделать, и опубликовал мой код .
Теперь я хотел бы сделать то же самое для другого часто задаваемого вопроса: поиска документов PDF с помощью Quartz.Та же ситуация, что и раньше, этот вопрос задавался много раз, практически без практических ответов.Поэтому сначала мне нужно несколько указателей, так как я до сих пор не реализовал это сам.
То, что я пробовал:
Я пытался использовать CGPDFScannerScan
для обработки операторов TJ
и Tj
- возвращает правильный текст в некоторых PDF, тогда как в другихдокументы он возвращает в основном случайные буквы. Может быть, это связано с кодировкой текста? Кто-то указал , что вместо этого должны обрабатываться текстовые блоки (отмеченные операторами BT / ET), но мне все еще не удалось это сделать.Кому-нибудь удалось извлечь текст из любого PDF-файла?
После этого поиск должен быть легким путем сохранения всего текста в NSMutableString
и использования rangeOfString
(если есть лучший способ, пожалуйста, дайте мне знать).
Но тогда как выделить результат ?Я знаю, что есть несколько операторов, чтобы найти размеры глифов, так что я мог вычислить результирующий прямоугольник на основе этих значений, но я часами читал спецификации ... это раздутый беспорядок, и я схожу с ума.Кто-нибудь с практическим объяснением?
Обновление
Пользователь Naveen Thunga обнаружил PDFKitten , "фреймворк для извлечения данных из PDF-файлов в iOS".Я только что попробовал демоверсию, и она, кажется, работает как рекламируется.Я протестирую его с большим количеством PDF-файлов и скоро опубликую результаты.В качестве примечания, код кажется мне очень хорошим - если вас интересует, как это работает, это довольно здорово.