Как программно определить, доступен ли PDF для поиска?

5

У меня есть CSV со списком URL-адресов с PDF файлами:

  • Некоторые из этих PDF файлов доступны для поиска.
  • Некоторые из этих PDFS не доступны для поиска.

Я хочу определить, какие PDF файлы доступны для поиска из моего списка PDF файлов. Есть простой способ сделать это?

  • 2
    Что вы подразумеваете под поиском? Что они содержат текст, а не изображения?
  • 0
    Я не пробовал это, но первое попадание в Bing предполагает, что поиск по содержимому файла PDF для «FontName» идентифицирует доступные для поиска.
Показать ещё 4 комментария
Теги:
pdf
pdftk

1 ответ

6

В командной строке я использую pdffonts, чтобы определить, какие шрифты использует файл. Это работает довольно быстро...

Пример 1: PDF, содержащий текст

pdffonts bash-manpage.pdf 

  name                            type          encoding        emb sub uni object ID
  ------------------------------- ------------- --------------- --- --- --- ---------
  Times-Roman                     Type 1        Custom          no  no  no       8  0
  Times-Bold                      Type 1        Standard        no  no  no       9  0
  Helvetica                       Type 1        Custom          no  no  no      11  0
  Helvetica-Bold                  Type 1        Standard        no  no  no      30  0

Пример 2: PDF, содержащий только изображения

pdffonts scanned-book.pdf

  pdffonts handmade.pdf 
  name                            type           encoding       emb sub uni object ID
  ------------------------------- -------------- -------------- --- --- --- ---------

  • Пример 1 показывает таблицу с именами шрифтов. Это означает, что текст IS для поиска.

  • В примере 2 показана пустая таблица. Нет шрифтов, не нужно искать текст (если вы не запустите OCR в файле, чтобы сначала вставить любой найденный текст... но затем вы создали другой файл!), Не смотрите на эти...

Примечание., чтобы быть успешным при извлечении встроенного текста и, следовательно, в поиске, это совершенно другая проблема. Есть много случаев, когда вы обнаружите, что это будет чрезвычайно сложно - особенно если вы видите в шрифтах шрифтов шрифты типа CID Type с "пользовательской" кодировкой. Сначала вы можете искать stackoverflow для других вопросов, которые были заданы об извлечении текста из PDF...

  • 0
    использовать pdffonts, чтобы определить, какие шрифты использует файл - действительно ли этот инструмент проверяет, используются ли шрифты? Или он только проверяет, определены ли они как ресурсы? В последнем случае наличие шрифтов не является на 100% достоверным признаком текста, доступного для поиска.
  • 1
    @mkl: Если вы хотите, чтобы на 100% точные показания PDF-файлов анализировались программно + автоматически, перейдите в другую вселенную. Вы не можете иметь это здесь. Здесь мы обрабатываем только до 99% достоверных показаний. Я мог бы вручную создать PDF-файл, который показывает текст «Ты в раю» на странице, но извлекает тебя из текста «Ты в аду», если вы обрабатываете его программно. Более 99,99% реальных PDF-файлов в этой вселенной программно создаются инструментами, которые не выводят этот тип бессмыслицы, и которые не встраивают шрифты, которые никогда не используются.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню