Votre distribution devrait fournir un utilitaire appelé pdftotext
:
find /path -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color "your pattern"' \;
Le "-" est nécessaire pour que pdftotext sorte sur stdout, et non dans des fichiers. L'adresse --with-filename
y --label=
mettra le nom du fichier dans la sortie de grep. Les options --color
est agréable et indique à grep d'utiliser les couleurs du terminal.
(Dans Ubuntu, pdftotext
est fourni par le paquet xpdf-utils
o poppler-utils
.)
Cette méthode, qui utilise pdftotext
y grep
a un avantage sur pdfgrep
si vous souhaitez utiliser les fonctionnalités de GNU grep
que pdfgrep
ne prend pas en charge. Nota : pdfgrep-1.3.x prend en charge -C
option pour imprimer la ligne de contexte.
6 votes
Grep ne fonctionnera pas, car le PDF est un format binaire et le texte est souvent compressé ou codé de diverses manières.
4 votes
Voici une solution GUI : Adobe Reader, voir wikispaces.psu.edu/display/training/
3 votes
En rapport : unix.stackexchange.com/questions/6704/grep-pdf-files
4 votes
Adobe reader fonctionne bien, mais il n'indexe pas ; donc si vous avez beaucoup de fichiers, il sera lent. Une solution d'indexation ?