叙情的な余談
1つの小さな組織(最大10台のコンピューター)では、情報のバックアップを整理する必要がありました。 これを行うために、大きなハードディスクとUbuntuを内蔵したコンピューターをインストールし、ユーザーのコンピューターにCobianバックアップをインストールすることにしました。
好奇心itive盛な読者は尋ねるでしょう:「なぜ、これを書いているのですか、著者? そして、スキャナーはそれと何の関係がありますか?」
実際のところ、この組織ではドキュメントをスキャンする機会は1つしかありませんでした-サムスンSCX-4200 MFPの幸せな所有者になるように依頼することはもちろんです(名前は当然ですが、それはすべてこのデバイスのために起こりました)。
「バックアップ用サーバー」へのUbuntuのインストール中に、「このMFPをここに接続し、キーボードを接続したままにし、特定のキーを押すことでスキャナーをスキャンし、結果を共有フォルダーに保存しますか?」 結局、人は他の人のドキュメントをスキャンするために仕事から気をそらされることはありません!」
もちろん、まず最初に、既製のスクリプトが検索されました。 これは最も興味深いようでした-www.opennet.ru/base/sys/net_scanner.txt.html
しかし、よく調べてみると、それほど良くないことがわかりました。 スキャナーの設定を変更するためにプログラムを再コンパイルしたり、画像の変換方法や.pdfファイルの作成方法をユーザーに教えたりするつもりはまったくありません。
私は自分で書いてみます、良い...
だから、タスクが設定されています
1. MFPをUbuntuに接続し、プリンターを共有して、スキャナーを構成します。
2.キーボードのキーが押されるのを待つスクリプトを書く
Esc-不完全なスキャンをキャンセル
1-カラーのスキャンモード
2-グレーの濃淡でのスキャンモード
0-スキャンしたファイルを保存します(1ページがスキャンされた場合はjpg、複数ページがあった場合はpdf)
Enter-ページをスキャンします。
解決策
ポイント1が単独でドロップしました。 プリンターの接続は予想外に簡単で、1つの質問もありませんでした。 USBケーブルをコンピューターに接続するだけで十分で、数秒後にUbuntuはプリンターが印刷することを発表しました。 テストページを送信しました-実際に印刷されます!
今から楽しい部分です。
システムにあるスキャナーを見てみましょう:
scanimage -L
システムがこのコマンドを見つけられない場合、sane-utilsパッケージをインストールする必要があります。
sudo apt-get install sane-utils
プログラムは、「xerox_mfp:libusb:001:002」という名前のデバイスを検出しました
スキャナーがシステムで唯一の場合、「デバイス名」パラメーターは省略できます。 scanimageは唯一の可能なスキャナーをスキャンします。
ページをスキャンしてみましょう。
scanimage -d“ xerox_mfp:libusb:001:002” --resolution 150 --mode Color --format = tiff> test.tif
150 dpiの解像度が選択された理由は、スキャン時間と出力ファイルのサイズを削減したいためですが、同時にユーザーが読みやすいテキストでドキュメントを印刷する機会を残しています。 テキスト認識または写真スキャンが必要な場合は、追加のオプションが表示されます。
だから、tiffがあります。 1つまたは複数(スキャンされた複数ページのドキュメント)。 ケースの90%のユーザーがドキュメントをスキャンして電子メールで送信することは明らかであり、tiffはコンパクトな形式ではありません。 そのため、結果を.jpgまたは.pdfに変換する必要があります。
ラスターイメージを編集/変換するためのパッケージを配置します。
sudo apt-get install imagemagick
単一の画像を圧縮する:
変換-品質60%test.tif test.jpg
または一度に:
convert -compress jpeg -quality 60%* .tif all.pdf
あと1つしかありません。 このコンピューターにモニターを接続したままにするつもりはありません。つまり、ユーザーはフィードバックなしに留まります。 さて、コンピュータに話をさせましょう。
キーボードの特定のキーを押したときに再生されるサウンドのリストを作成し、マイクを拾ってミニフレーズを録音します。 アクション全体の目的はmp3をリッスンするのではなく、スキャンするためです。
1.コマンドを待つ(waitcommand.mp3)
2.カラースキャン(color.mp3)
3.白黒スキャン(bw.mp3)
4.ページをスキャンします(scanpage.mp3)
5.結果を保存します(saveresult.mp3)
ああ、そうです。コンソールからmp3を再生する方法がわからない「クリーン」なシステムがあるからです。
状況を修正します。
sudo apt-get install mpg321
お楽しみください:
mpg123 -q waitcommand.mp3
今、すべてが準備ができているようです
スクリプト/mnt/2tb/scan.shを作成します
#!/bin/bash 
      
        
        
        
      
     
      
        
        
        
      
     # ================================================== 
      
        
        
        
      
     #  
      
        
        
        
      
     
      
        
        
        
      
     scannerdevice="xerox_mfp:libusb:001:002" #scanimage -L 
      
        
        
        
      
     workdir="/tmp/scanworkdir" 
      
        
        
        
      
     destdir="/mnt/2tb/Share/1Scanner" 
      
        
        
        
      
     dpi="150" 
      
        
        
        
      
     jpegquality="60%" 
      
        
        
        
      
     
      
        
        
        
      
     # ================================================== 
      
        
        
        
      
     #   
      
        
        
        
      
     
      
        
        
        
      
     sleep 10s 
      
        
        
        
      
     
      
        
        
        
      
     mkdir -p $workdir 
      
        
        
        
      
     rm $workdir/*.* 2>/dev/null 
      
        
        
        
      
     numpages=0 
      
        
        
        
      
     color="Gray" 
      
        
        
        
      
     mpg123 -q waitcommand.mp3 
      
        
        
        
      
     
      
        
        
        
      
     while true 
      
        
        
        
      
     do 
      
        
        
        
      
     #  
      
        
        
        
      
     read -sn 1 Keypress 
      
        
        
        
      
     
      
        
        
        
      
     case "$Keypress" in 
      
        
        
        
      
     $'\e') 
      
        
        
        
      
     #  
      
        
        
        
      
     rm $workdir/*.* 2>/dev/null 
      
        
        
        
      
     numpages=0 
      
        
        
        
      
     color="Gray" 
      
        
        
        
      
     mpg123 -q waitcommand.mp3 
      
        
        
        
      
     ;; 
      
        
        
        
      
     
      
        
        
        
      
     $'1') 
      
        
        
        
      
     # 
      
        
        
        
      
     color="Color" 
      
        
        
        
      
     mpg123 -q color.mp3 
      
        
        
        
      
     ;; 
      
        
        
        
      
     
      
        
        
        
      
     $'2') 
      
        
        
        
      
     #/ 
      
        
        
        
      
     color="Gray" 
      
        
        
        
      
     mpg123 -q bw.mp3 
      
        
        
        
      
     ;; 
      
        
        
        
      
     
      
        
        
        
      
     $'0') 
      
        
        
        
      
     #  
      
        
        
        
      
     mpg123 -q saveresult.mp3 
      
        
        
        
      
     filename=`date +%Y%m%d-%H%M%S` 
      
        
        
        
      
     if [ $numpages = 1 ]; then 
      
        
        
        
      
     convert -quality $jpegquality $workdir/1.tif $destdir/$filename.jpg 
      
        
        
        
      
     fi 
      
        
        
        
      
     if [ $numpages \> 1 ]; then 
      
        
        
        
      
     convert -compress jpeg -quality $jpegquality $workdir/*.tif $destdir/$filename.pdf 
      
        
        
        
      
     fi 
      
        
        
        
      
     rm $workdir/*.* 2>/dev/null 
      
        
        
        
      
     numpages=0 
      
        
        
        
      
     color="Gray" 
      
        
        
        
      
     mpg123 -q waitcommand.mp3 
      
        
        
        
      
     ;; 
      
        
        
        
      
     
      
        
        
        
      
     $'') 
      
        
        
        
      
     #  
      
        
        
        
      
     mpg123 -q scanpage.mp3 
      
        
        
        
      
     let "numpages=numpages+1" 
      
        
        
        
      
     scanimage -d $scannerdevice --resolution $dpi --mode $color --format=tiff >$workdir/$numpages.tif 
      
        
        
        
      
     mpg123 -q waitcommand.mp3 
      
        
        
        
      
     ;; 
      
        
        
        
      
     esac 
      
        
        
        
      
     
      
        
        
        
      
     done
      
      私たちは話す
chmod + x /mnt/2tb/scan.sh
打ち上げ
はい、すべてが期待どおりに機能します。 次に、Ubuntuメニューの[システム]-> [オプション]-> [起動されたアプリケーション]に移動し、[追加]、[参照]、スクリプトファイルを選択します。 コンピューターを再起動すると、...スキャナーは何かを継続的にスキャンし始めますが、音は再生されません。
さて、Ctrl + Cを押して、書いたものをもう一度読みます...
サウンドを使用すると、すべてが簡単になります。スクリプトの呼び出し元のフォルダーにはありません。 継続的なスキャンは明らかにケース内の$ '')によるものです。
私はこれを詳細には扱いませんでしたが、単に起動コマンドを
/ usr / bin / gnome-terminal -e /mnt/2tb/scan.sh --working-directory / mnt / 2tb
コンピューターを再起動します。すべてが機能し、ユーザーは満足しています。