GNU/Linux >> Tutoriales Linux >  >> Linux

Compruebe si los archivos PDF están dañados mediante la línea de comandos en Linux

Puedes intentar hacerlo con pdfinfo (aquí en Fedora en el poppler-utils paquete). pdfinfo obtiene información sobre el archivo PDF de su diccionario, por lo que si lo encuentra, el archivo debería estar bien

for f in *.pdf; do
  if ! pdfinfo "$f" &> /dev/null; then
    echo "$f" is broken
  fi
done

find . -iname '*.pdf' | while read -r f
  do
    if pdftotext "$f" - &> /dev/null; then 
        echo "$f" was ok;   
    else
        mv "$f" "$f.broken";
        echo "$f" is broken;   
    fi; 
done

Mi herramienta preferida para verificar archivos PDF es qpdf . qpdf tiene un --check argumento que hace bien para encontrar problemas en archivos PDF.

Comprobar un solo PDF con qpdf :

qpdf --check test_file.pdf

Comprueba todos los archivos PDF en un directorio con qpdf :

find ./directory_to_scan/ -type f -iname '*.pdf' \( -exec sh -c 'qpdf --check "{}" > /dev/null && echo "{}": OK' \; -o -exec echo "{}": FAILED \; \)

Explicación del comando:

  • find ./directory_to_scan/ -type f -iname '*.pdf' Encuentra todos los archivos con extensión '.pdf'

  • -exec sh -c 'qpdf --check "{}" > /dev/null && echo "{}": OK' \; Ejecutar qpdf para cada archivo encontrado y canalice toda la salida a /dev/null . También imprima el nombre del archivo seguido de ':OK' si el estado de retorno es qpdf es 0 (es decir, sin errores)

  • -o -exec echo "{}": FAILED \; \) Esto se ejecuta si se encuentran errores:Imprima el nombre del archivo seguido de ":FALLIDO"

Dónde conseguir qpdf :

qpdf tiene binarios de Linux y Windows disponibles en:https://github.com/qpdf/qpdf/releases. También puede usar el administrador de paquetes de su elección para obtenerlo. Por ejemplo, en Ubuntu puede instalar qpdf usando apt con el comando:

apt install qpdf

Linux
  1. Edite archivos PDF en la línea de comandos de Linux

  2. Una introducción al uso de tcpdump en la línea de comandos de Linux

  3. Usando la fuerza en la línea de comando de Linux

  4. Cómo verificar que los puertos remotos sean accesibles usando el comando 'nc'

  5. 5 herramientas de línea de comandos para encontrar archivos rápidamente en Linux

Cómo crear un archivo en Linux usando Terminal/Línea de comando

Cómo eliminar archivos y directorios usando la línea de comandos de Linux

Comando Rm en Linux

3 formas de comprobar la versión del kernel de Linux en la línea de comandos

Cómo comprobar la versión del sistema operativo con la línea de comandos de Linux

Cómo descargar archivos en Rocky Linux 8 en la línea de comandos usando wget