Я проверяю ссылки статьи и хочу найти положения в теле, где на небольшое количество бумаги (в ссылочном списке) ссылаются. Существует ли редактор PDF, который поддерживает поиск через удар, и извлеките контекст положения? Я попытался преобразовать PDF для отправки текстовых сообщений, но не имел хорошего результата.
Только для добавления к вышеупомянутому ответу в особенности можно использовать инструмент командной строки от xpdf-utils, названного pdftotext, и затем искать текстовый документ, созданный этим инструментом с grep.
Это могло бы выглядеть примерно так:
pdftotext document.pdf - | grep -C5 -n -i "search term"
в руководстве существует больше информации. Единственный недостаток к pdftotext состоит в том, что Вы не можете нас globbing для преобразования нескольких файлов одновременно. Эта проблема может быть преодолена с маленьким сценарием удара:
for f in pdf_directory; do echo $f; pdftotext $f - | grep -i "search_term"; done
, Если у Вас есть проблемы при создании текстового документа из PDF из-за, например, несовместимый файл PDF, затем это - другая проблема.
я думаю в целом, редакторы PDF не включают командные строки, потому что они являются графическими. Если Вы хотите использовать удар, (или возможно zsh!) затем Вам, возможно, придется использовать терминальную оболочку.
Удачи!
: xpdf-utils является переходным пакетом для poppler-utils.
можно использовать poppler-utils. poppler-utils, комплект инструментов для файлов переносимого формата документа (PDF).
Для установки его можно использовать Центр программного обеспечения Ubuntu, или путем нажатия ниже:
pdfgrep
может искать строку или шаблон в файлах PDF рекурсивно в деревьях каталогов, считая соответствия или печатая некоторый контекст для каждого соответствия. Например, для рекурсивного поиска keyword
в /some directory
, нечувствительный к регистру:
pdfgrep -Ri keyword /some/directory
Pdfgrep является инструментом к искомому тексту в файлах PDF. Это работает подобное 'grep'.
Функции:
- поиск регулярных выражений.
- поддержка некоторых важных grep опций, включая: + имя файла производится. + номер страницы производится. + дополнительная нечувствительность к регистру. + случаи количества
.- и самая важная функция: вывод цвета!
<глоток> <глоток> 1 глоток> Источник: Каталог приложений Ubuntu глоток>
Искать регулярное выражение в нескольких файлах PDF с помощью pdfgrep:
find /path -iname '*.pdf' -exec pdfgrep -H 'pattern' {} \;
, где путь является местоположением для Ваших файлов PDF.
Причина pdftotext была без успеха, мог бы быть то, что PDF сканируется изображения, и Вам нужны к OCR они, я записал быстрый способ искать все pdf
s, который не может быть grep
редактор и OCR их.
Я заметил если a pdf
файл не имеет никакого шрифта, это обычно не доступно для поиска. Знание этого мы можем использовать pdffonts
.
Сначала 2 строки pdffonts
заголовок таблицы, поэтому когда файл доступен для поиска, имеет больше чем два вывода строки, зная это мы можем создать:
gedit check_pdf_searchable.sh
вставьте это
#!/bin/bash
#set -vx
if ((`pdffonts "$1" | wc -l` < 3 )); then
echo $1
ocrmypdf "$1" "$1"_ocr.pdf
fi
затем сделайте это исполняемым файлом
chmod +x check_pdf_searchable.sh
затем перечислите весь недоступный для поиска pdfs в каталоге:
ls -1 ./*.pdf | xargs -L1 -I {} ./check_pdf_searchable.sh {}
или в каталоге и его подкаталогах:
tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} ./check_pdf_searchable.sh {}
Также необходимо установить:
sudo apt install ocrmypdf
rga - это оболочка для ripgrep , которая является гораздо более быстрым вариантом для поиска PDF-файлов в командной строке.