Todos os métodos que usam pdfinfo
ou pdftotext
não funcionaram para mim. Na verdade, eles continuavam me dando falsos positivos e às vezes criavam arquivos que eu não precisava.
O que funcionou foi o JHOVE .
Instalação:
Instale o jar do link acima e atualize sua variável de ambiente PATH com este comando:
echo "export PATH=\$PATH:/REPLACE_WITH/YOUR/PATH_TO/jhove/" >> ~/.bash_profile
Atualize cada terminal com
source ~/.bash_profile
e é bom começar a usá-lo em todo o sistema.
Uso básico:
jhove -m pdf-hul someFile.pdf
Você terá muitas informações sobre o pdf - mais do que a maioria das pessoas provavelmente precisa.
Bash One-Liner:
Simplesmente retorna valid
ou invalid
:
if [[ $(jhove -m pdf-hul someFile.pdf | grep -a "Status:") == *"Well-Formed and valid"* ]]; then echo "valid"; else echo "invalid"; fi;
Observe que isso foi executado no Mac OS X, mas presumo que funcione da mesma maneira com qualquer ambiente Bash baseado em Unix.