La raison pour laquelle pdftotext n'a pas réussi est peut-être que les PDF sont des images numérisées et que vous devez les OCR, j'ai écrit un moyen rapide de rechercher tous les pdf
s qui ne peuvent pas être grep
édités et de les OCR.
J'ai remarqué que si un pdf
fichier n'a pas de police, il n'est généralement pas consultable. Sachant cela, nous pouvons l'utiliser pdffonts
.
Les 2 premières lignes du pdffonts
sont l'en-tête du tableau, donc quand un fichier est consultable a plus de deux lignes de sortie, sachant cela, nous pouvons créer:
gedit check_pdf_searchable.sh
collez ceci
#!/bin/bash
#set -vx
if ((`pdffonts "$1" | wc -l` < 3 )); then
echo $1
ocrmypdf "$1" "$1"_ocr.pdf
fi
puis le rendre exécutable
chmod +x check_pdf_searchable.sh
puis répertoriez tous les fichiers PDF non consultables dans le répertoire:
ls -1 ./*.pdf | xargs -L1 -I {} ./check_pdf_searchable.sh {}
ou dans le répertoire et ses sous-répertoires:
tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} ./check_pdf_searchable.sh {}
Vous devez également installer:
sudo apt install ocrmypdf
Eduard Florinescu
la source