GNU/Linux >> Linux の 問題 >  >> Linux

Linux でコマンドラインを使用して PDF ファイルが破損しているかどうかを確認する

pdfinfo で試すことができます (ここでは poppler-utils の Fedora について パッケージ)。 pdfinfo 辞書から PDF ファイルに関する情報を取得するため、それが見つかった場合、ファイルは問題ありません

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

PDF をチェックするために私が選んだツールは qpdf です . qpdf --check を持っています PDF の問題を見つけるのに適した引数です。

qpdf で単一の PDF をチェック :

qpdf --check test_file.pdf

qpdf のディレクトリ内のすべての PDF を確認します :

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

コマンドの説明:

  • find ./directory_to_scan/ -type f -iname '*.pdf' '.pdf' 拡張子を持つすべてのファイルを検索

  • -exec sh -c 'qpdf --check "{}" > /dev/null && echo "{}": OK' \; qpdf を実行 見つかったファイルごとに、すべての出力を /dev/null にパイプします . qpdf のステータスを返す場合は、ファイル名の後に ':OK' を出力します 0 (エラーなし)

  • -o -exec echo "{}": FAILED \; \) エラーが見つかった場合、これが実行されます:出力ファイル名の後に ":FAILED" が続きます

qpdf の入手先 :

qpdf Linux と Windows の両方のバイナリが https://github.com/qpdf/qpdf/releases で入手できます。選択したパッケージ マネージャーを使用して取得することもできます。たとえば、Ubuntu では、次のコマンドで apt を使用して qpdf をインストールできます。

apt install qpdf

Linux
  1. LinuxコマンドラインでPDFを編集する

  2. Linuxコマンドラインでのtcpdumpの使用の概要

  3. 「nc」コマンドを使用してリモートポートに到達できることを確認する方法

  1. Linuxでファイルをすばやく検索するための5つのコマンドラインツール

  2. コマンドラインを使用してLinuxをシャットダウンまたは再起動する方法

  3. コマンドラインを使用してLinuxを再起動する方法

  1. Linuxのコマンドラインを使用してファイルを作成する

  2. Sort コマンドを使用して Linux でファイルをソートする方法

  3. Linux コマンドラインを使用して Node.JS をアンインストールしますか?