Как преобразовать PDF в текст, чтобы я мог разобрать этот текст с помощью PHP?

У меня есть PDF-файлы, которые в основном просто форматируют текст, и я хочу разобрать текст с помощью PHP. Я понимаю, что PDF-файл является двоичным, поэтому мне нужна утилита или библиотека, чтобы преобразовать ее в текст.

Любые рекомендации?

Программное обеспечение сторонних разработчиков может выгрузить текстовое содержимое PDF-файла, например:

  • xdoc2txt (только для Windows, используется в плагинах WinMerge)
  • pdftotext, часть Xpdf

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

Ниже приведен процесс установки для Linux CentOS:

  1. скачать версию 3.03 отсюда: http://foolabs.com/xpdf/download.html
  2. tar -zxvf xpdfbin-linux-3.03.tar.gz (extract tar.gz)
  3. создать необходимые каталоги для установки (некоторые или все из них могут существовать уже)
    • sudo mkdir / usr / local / man /
    • sudo mkdir / usr / local / man / man1 /
    • sudo mkdir / usr / local / man / man5 /
    • sudo mkdir / usr / local / etc / xpdfrc /
  4. перемещать файлы из извлеченных папок (cd в папку, где xpdf был просто распакован)
    • переместите все исполняемые файлы из каталога bin64 (xpdf, pdftotext … все файлы) в / usr / local / bin /
    • переместите файл sample-xpdfrc в / usr / local / etc / xpdfrc (это можно использовать как есть)
    • переместите страницы руководства из каталога doc (* .1 в / usr / local / man / man1 / & * .5 в / usr / local / man / man5 /)
  5. xpdf должен быть установлен и готов к использованию
  6. вы можете удалить загруженный файл tar.gz и папку, в которой он был распакован

Вы не можете сделать это с помощью file_get_contents() потому что файлы PDF содержат только двоичные данные (без обычного текста). Чтобы прочитать / изменить PDF-файл, вы можете использовать некоторые сторонние библиотеки. Взгляни на:

И не забывайте