Поиск слов в pdf файлах - PullRequest
       19

Поиск слов в pdf файлах

0 голосов
/ 17 февраля 2009

Можно ли искать "слова" в pdf файлах с помощью delphi?

У меня есть код, с помощью которого я могу искать во многих других файлах, таких как (exe, dll, txt), но он не работает с PDF-файлами.

Ответы [ 6 ]

2 голосов
/ 17 февраля 2009

Компоненты / библиотеки, упомянутые в ответе на этот вопрос должны делать то, что вам нужно.

2 голосов
/ 17 февраля 2009

Зависит от структуры конкретного PDF.

Если PDF-файл состоит из изображений (отсканированных страниц), вам необходимо распознать каждое изображение и создать полнотекстовый индекс внутри PDF-файла. (Чтобы увидеть, основано ли его изображение, откройте его с помощью блокнота и найдите теги obj, заполненные случайными символами). Есть несколько утилит и приложений, которые выполняют эту работу для вас, CVision PDF Compressor - это та, которую я использовал раньше.

Если PDF-файл является стандартным PDF, то вы сможете открыть его, как и любой другой текстовый файл, и выполнить поиск по словам.

Здесь - это страница, которая детализирует некоторые структуры PDF. Это ТАК сообщение для того же.

1 голос
/ 25 мая 2009

Функция Quick PDF Library GetPageText может дать вам слова из PDF, а также номер страницы и координаты этих слов - иногда полезно для выделения.

1 голос
/ 17 февраля 2009

Один из вариантов, который я использовал, - это использование технологии Microsoft ifilter , которая используется для поиска на рабочем столе Windows и многих других продуктов, таких как полнотекстовый поиск на sharepoint и SQL-сервере.

Он поддерживает практически любые офисные / офисные форматы файлов, даже dwg, msg, pdf и файлы в архивах zip / rar.

Самый простой способ его использования - запустить FiltDump.exe для любых имеющихся у вас файлов и проиндексировать вывод текста.

Чтобы узнать о фильтрах, установленных на вашем компьютере, вы можете использовать ifilter explorer . Википедия имеет несколько ссылок на своей странице ifilters .

1 голос
/ 17 февраля 2009

Я просто работаю над проектом, который делает это. Метод, который я использую, - преобразовать PDF-файл в простой текст (с помощью pdftotext.exe) и создать индекс для полученного текста. Мы делаем то же самое со словом и другими офисными файлами, работает довольно хорошо!

Поиск напрямую в pdf-файлы из Delphi (без внешнего приложения) более сложен, я думаю. Если вы найдете что-нибудь, пожалуйста, обновите здесь, так как я также был бы очень заинтересован в этом!

0 голосов
/ 17 февраля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...