スキャンプロセスを簡素化するために、OCRを1ステップでスキャンして適用できるスクリプトを作成します。しかし、私のbash技術は非常に悪いので、助けてくれて本当にありがとう。私の試みは次のとおりです。
#!/bin/bash
mydate="$(date +"%Y%m%d-%H%M%S")"
image="$(scanimage --device "brother4:net1;dev0" --progress --verbose --resolution=600 -l 0 -t 0 -x 210 -y 297 --format=pdf)"
ocrmypdf --deskew "$image" "$mydate".pdf
このコマンドは、日付別のファイル名を作成しなくてもうまく機能します。
scanimage --device "brother4:net1;dev0" --progress --verbose --resolution=600 -l 0 -t 0 -x 210 -y 297 --format=pdf > scan.pdf && ocrmypdf --deskew scan.pdf scan.pdf
OCR処理には時間がかかりますので、スキャン時に時間(最大秒)を含むファイル名を保存してから、最終ファイルに適用する必要があります。あるいはocrmypdf
、名前を指定せずにファイルをパイプし、日付と時刻の情報を含むファイルを保存することもできます。
ベストアンサー1
一時ディレクトリを作成し、ここにファイルを保存できます。mktemp
一意のファイル/ディレクトリ名を提供するように設計されており、この目的に適しています。
tmpdir=$(mktemp -d OcrTmpDirXXXXXXXXX)
scanimage args >"$tmpdir/in.pdf"
ocrmypdf args "$tmpdir/in.pdf" "$tmpdir/out.pdf"
printf 'See "%s" for result\n' "$tmpdir"