Vou dar uma contribuição para arquivos JPEG com imagens, usando um arquivo CSV com uma lista de nomes, um nome por linha, na verdade nem precisaria ser CSV.
#!/bin/bash
#Passo 1: Criar arquivo temporário
#Passo 2: Converter JPEG para Texto.
#Passo 3: Pesquisar se no arquivo tem o texto do csv
#Passo 4: Endireitar o texto
#Passo 5: Converter para pdf pesquisavel
#Passo 6: Salvar com o novo nome
#variaveis
#OBS criar uma pasta chamada resultados.
#Colocar as imagens na pasta image
#precisa de um arquivo de texto chamado data.csv com nomes em cada linha
INPUT=data.csv
IFS=,
#Passo1
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd)"
WORK_DIR=`mktemp -d -p "$DIR"`
if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
echo "Não foi criado o diretório temporario"
exit 1
fi
function cleanup {
rm -rf "$WORK_DIR"
echo "Diretório temporário está sendo deletado: $WORK_DIR"
}
trap cleanup EXIT
tessedit_char_whitelist=ABCDEFGHIJKLMNOPQRSTUVWXYZ%/-15 > out
#Passo2
for i in image/*
do
if [ -f "$i" ]; then
tesseract "$i" "$WORK_DIR/${i##*/}
echo $(sed ':a;N;$!ba;s/\n/ /g' "$WORK_DIR/${i##*/}.txt") > "$WORK_DIR/${i##*/}.txt"
fi
done
#Passo3
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
while read col1
do
for i in $WORK_DIR/*.txt
do
string=`cat "$i" | tr "\n" " "`
cola=`echo $col1 | sed 's/\\r//g'`
min=1
colm=${cola^^}
colmt=`echo $colm | sed 's/ *$//g'`
if quant=$(grep -c "$colmt" $i); then
if [ "$quant" -ge "$min" ]; then
dir1="${i%.txt}"
dir2="image/${dir1##*/}
#passo4
if [ ! -f "resultado/${i##*/}-$cola.pdf" ]; then
convert "$dir2" -deskew 40% "$WORK_DIR/$(basename -- $dir2)"
#passo5
tesseract "$dir1" "$dir1" -l por --psm 1 pdf
#passo6
cp "$dir1.pdf" "resultado/${i##*/}-$cola.pdf"
fi
fi
fi
done
done < $INPUT