GNU/Linux >> Linux Esercitazione >  >> Linux

Controlla se i file PDF sono danneggiati utilizzando la riga di comando su Linux

Puoi provare a farlo con pdfinfo (qui su Fedora nel poppler-utils pacchetto). pdfinfo ottiene informazioni sul file PDF dal suo dizionario, quindi se lo trova il file dovrebbe essere ok

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

Il mio strumento preferito per controllare i PDF è qpdf . qpdf ha un --check argomento che fa bene a trovare problemi nei PDF.

Controlla un singolo PDF con qpdf :

qpdf --check test_file.pdf

Controlla tutti i PDF in una directory con qpdf :

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

Spiegazione del comando:

  • find ./directory_to_scan/ -type f -iname '*.pdf' Trova tutti i file con estensione '.pdf'

  • -exec sh -c 'qpdf --check "{}" > /dev/null && echo "{}": OK' \; Esegui qpdf per ogni file trovato e invia tutto l'output a /dev/null . Stampa anche il nome del file seguito da ':OK' se restituisce lo stato di qpdf è 0 (cioè nessun errore)

  • -o -exec echo "{}": FAILED \; \) Questo viene eseguito se vengono rilevati errori:Print nome file seguito da ":FAILED"

Dove trovare qpdf :

qpdf ha i binari Linux e Windows disponibili su:https://github.com/qpdf/qpdf/releases. Puoi anche usare il tuo gestore di pacchetti preferito per ottenerlo. Ad esempio su Ubuntu puoi installare qpdf usando apt con il comando:

apt install qpdf

Linux
  1. Modifica i PDF sulla riga di comando di Linux

  2. Un'introduzione all'uso di tcpdump nella riga di comando di Linux

  3. Usando la forza sulla riga di comando di Linux

  4. Come verificare che le porte remote siano raggiungibili utilizzando il comando "nc".

  5. 5 strumenti da riga di comando per trovare rapidamente file in Linux

Come creare un file in Linux utilizzando Terminale/riga di comando

Come rimuovere file e directory utilizzando la riga di comando di Linux

Comando Rm in Linux

3 modi per controllare la versione del kernel Linux nella riga di comando

Come controllare la versione del sistema operativo con la riga di comando di Linux

Come scaricare file in Rocky Linux 8 sulla riga di comando usando wget