Я ищу инструмент, который может идентифицировать определенный шаблон в тексте документа Microsoft Word (.doc) или документа PDF.
Под шаблоном я подразумеваю, например, «все абзацы, начинающиеся с ххх и заканчивающиеся на ззз».
Мне нужно иметь возможность собирать эти данные из двух документов, сравнивать их вместе и создавать таблицу Excel с различиями.
Есть ли инструменты, которые могут помочь мне в этом? желательно с открытым исходным кодом. Я буду использовать его в Windows, и он должен быть FOSS, и если он недоступен, библиотека (с интерфейсом C/C++) была бы неплохой.
Для документов MS-Word используйте LibreOffice в командной строке. Он будет работать с файлами .doc и .docx, а также с другими форматами (может быть, даже с PDF, не уверен). Извлеките текст следующим образом:
libreoffice --headless --cat my_file.doc
И теперь вы можете просто передать это в утилиту текстового поиска или в свой собственный код. В Unix-системе или с помощью Cygwin в Windows вы должны сделать это следующим образом:
libreoffice --headless --cat my_file.doc | grep "some_search_term"
Для PDF-документов можно использовать pdftotext
утилиту:
pdftotext my_document.pdf - | grep "my_search_term"
Вот страница загрузки двоичных файлов или исходников; и многие дистрибутивы Linux упаковывают его (хотя название может отличаться).
С довольно мелкой кривой обучения вы можете сделать все это на питоне с помощью нескольких библиотек:
Процесс будет:
Особенности этого решения:
айнпоклум
Эслам Гамаль