O motivo pelo qual o pdftotext não teve êxito pode ser o fato de os PDF serem imagens digitalizadas e você precisar registrá-las. Escrevi uma maneira rápida de pesquisar todos os arquivos pdf
que não podem ser grep
editados e registrá-los.
Percebi que se um pdf
arquivo não tem nenhuma fonte, geralmente ele não é pesquisável. Sabendo disso, podemos usar pdffonts
.
As primeiras 2 linhas do pdffonts
são o cabeçalho da tabela; portanto, quando um arquivo é pesquisável, tem mais de duas linhas de saída, sabendo disso, podemos criar:
gedit check_pdf_searchable.sh
cole isso
#!/bin/bash
#set -vx
if ((`pdffonts "$1" | wc -l` < 3 )); then
echo $1
ocrmypdf "$1" "$1"_ocr.pdf
fi
então torne-o executável
chmod +x check_pdf_searchable.sh
em seguida, liste todos os PDFs não pesquisáveis no diretório:
ls -1 ./*.pdf | xargs -L1 -I {} ./check_pdf_searchable.sh {}
ou no diretório e seus subdiretórios:
tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} ./check_pdf_searchable.sh {}
Você também precisa instalar:
sudo apt install ocrmypdf