Чтение PDF-файлов в виде строки через приложение iPhone - PullRequest
0 голосов
/ 16 сентября 2010

Я не понимаю, какой аргумент я должен передать в функции CGPDFDictionaryGetString для "ключа"? Я хочу извлечь текст и изображение из файла PDF.

1 Ответ

0 голосов
/ 07 октября 2010

Метод, который вы указали, обычно используется для извлечения объекта String COS и, вероятно, будет мало полезен при извлечении текста со страницы PDF.Объекты COS хранятся в дереве каталога документов PDF.Обычно вы получаете объект COS в дереве, используя его значение ключа.Объекты COS могут быть нескольких различных типов (Словарь, Массив, Число, Строка, Поток и т. Д.). Каждый тип идентифицируется с помощью ключа, который позволяет идентифицировать его и извлекать с помощью таких методов, как:

CGPDFDictionaryGetString(key)
CGPDFDictionaryGetNumber(key)
CGPDFDictionaryGetDictionary(key)

IУ меня никогда не было необходимости извлекать текст на странице, но, просматривая простой файл PDF, текст на странице, кажется, находится в потоке «Содержание» страницы.

Так что в вашем случае вывероятно, вы хотите сделать что-то вроде 1) Получить каталог документов 2) Получить словарь «Страницы» 3) Получить страницу (n), которая вас интересует 4) Получить поток «Содержание» этой страницы и проанализировать его для текста.

Изображения обычно хранятся в словаре страницы "Ресурс" (который находится на том же уровне, что и поток "Содержание".

Если вы хотите лучше понять дерево объектов COS и егоструктуру, вы можете просмотреть ее для просматриваемого в настоящий момент PDF-файла с помощью утилиты Acrobat «Preflight». В меню Advanced: Preflight ... | options | Просмотр внутренней структуры PDF.

И, конечно же, пролистывание официальной спецификации - хорошая идея:

Надеюсь, это поможет!

...