小規模オフィスでのスキャンの最適化

良い時間、コミュニティ!

私は、あるワーキンググループで、紙の文書をデジタル形式に「迅速に」翻訳する方法をどのように整理したかを伝えることにしました。

始めるために、私は何であるかを教えます。 また、独立したシステムユニットが率いるワーキンググループ(約10台のコンピューター)があり、誇らしげに「サーバー」と呼ばれています。 サーバーには、Sambaが構成された64ビットUbuntuサーバーがあります。

マネージャーが以前にスキャンしたとき:コンピューターの電源がオンになり、HP ScanJet 2400フラットベッドスキャナーが接続されていて(オンになっていない場合)、ドキュメントがページごとにスキャンされ、ファイルの場所が保存されました。
明らかな欠点:コンピューターの電源を入れてから電源を切る必要があり、OS、プログラムの読み込み、および最初のスキャンの前にスキャナーをウォームアップするのに長い時間がかかりました。

経緯:マネージャーはスキャナーに行き、ドキュメントの束(最大20枚)を挿入し、スキャナーのボタンを押して、ドキュメントを受け取りました。 スキャンはすでにボール内の場所に戻っていました。
デジタルコピーを受信する時間が10分の1に短縮されました。

実装

必要なのは、Linuxに接続できる安価なドキュメントスキャナーでした。 選択肢は、モデルのADS-2100会社Brotherにかかっていました。
画像
そのため、スキャナーをusbケーブルでサーバーに接続して構成します。

1.スキャナーが接続されているかどうかを確認します
lsusb 
 Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 004: ID 03f0:3817 Hewlett-Packard LaserJet P2015 series Bus 001 Device 002: ID 04f9:60a1 Brother Industries, Ltd Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

2.メーカーのウェブサイトwww.brother.ruにアクセスし、 welcome.solutions.brother.com / bsc / public_s / id / linux / en / index.htmlページへのリンクをたどって、Linux用のドライバーとプログラムをダウンロードします。
ダウンロード→スキャナードライバー/ ADSドライバー/スキャンキーツール→ADSモデル用brscan4 64ビットdeb形式ファイル、および同じ形式のスキャンキーツール64ビットファイルを探しています
動作中のコンピューターからドライバーをダウンロードし、サーバー上のボールにドライバーを投げてそこからインストールしました。

3.ダウンロードしたファイルがあるディレクトリに移動し、スキャナードライバーをインストールします
 dpkg -i brscan4-0.4.1-3.amd64.deb 
      brscan4. (   ...     108594   .)   brscan4 (  brscan4-0.4.1-3.amd64.deb)...   brscan4 (0.4.1-3) ... This software is based in part on the work of the Independent JPEG Group. 

4.通常のユーザーとしてスキャンする権限を付与します
ファイル/lib/udev/rules.d/40-libsane.rulesを開き、コメントに追加します。「#次のルールは、デバイスのUSB自動サスペンドを無効にします」
 # Brother scanners ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes" 

5.サーバーを再起動します

6.項目3と同様に、Scan-key-toolをインストールします
 dpkg -i brscan-skey-0.2.4-0.amd64.deb 
      brscan-skey. (   ...     108623   .)   brscan-skey (  brscan-skey-0.2.4-0.amd64.deb)...   brscan-skey (0.2.4-0) ... 

7.構成ファイルを修正します。 特定のキーが押されると、コマンドが起動されます。 これは/opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-0.cfgで綴られています
その内容:
 password= IMAGE="sh /opt/brother/scanner/brscan-skey/script/scantoimage-0.2.4-0.sh" OCR="sh /opt/brother/scanner/brscan-skey/script/scantoocr-0.2.4-0.sh" EMAIL="sh /opt/brother/scanner/brscan-skey/script/scantoemail-0.2.4-0.sh" FILE="sh /opt/brother/scanner/brscan-skey/script/scantofile-0.2.4-0.sh" SEMID=b 

スキャナーには3つのボタンがあります。スキャナーのオン/オフ、スキャンの開始、USBフラッシュドライブへのスキャンです。
FILE =変数がスキャンボタンの原因であることが実験的に判明しました
に変更する
 FILE="sh /home/admin/file.sh" 

スクリプト/home/admin/file.shを作成します
スクリプト
 #! /bin/sh set +o noclobber # # $1 = scanner device # $2 = friendly name # ##   resolution=300 device=$1 ##      temp_dir=/tmp/scan_"`date +%Y-%m-%d-%H-%M-%S`" mkdir -p $temp_dir cd $temp_dir ##      if [ "`which usleep 2>/dev/null `" != '' ];then usleep 10000 else sleep 0.01 fi ##  ##    =40 ##     ##    4 ##   ##     ,     ##     tiff <u>scanimage</u> --batch-count=40 --source 'Automatic Document Feeder(centrally aligned,Duplex)' -x 210 -y 297 --device-name "$device" --resolution $resolution –format=tiff ##   tif-  jpg-   90% <u>convert</u> -quality 90% *.tif im.jpg ##   tif-   rm *.tif ##  jpg- <u>exiftool</u> -d %Y-%m-%d_%H.%M-%S%%-c.%%e "-filename<FileModifyDate" $temp_dir ##   111        ## ..     ##     find . -size +111k -exec mv {} /srv/scan \; ##      rm -r $temp_dir ##  -  saned ##    ,    root cd /srv/scan chown saned:saned *.jpg 

スクリプトでは、システムにないものを強調しました。 インストール/作成:
a)scanimageの場合
 apt-get install libsane sane-utils 

b)変換用
 apt-get install imagemagick 

c)exifroolの場合
 apt-get install libimage-exiftool-perl 

d)ローカルサーバーで// serverとして表示されるボール/ srv /スキャンを作成する/すべてのユーザーに読み取りをスキャンする

スクリプト600に権利を設定します

8. オプションのステップ。 デーモンの起動スクリプトを変更して、スキャナーキー/ opt / brother / scanner / brscan-skey / brscan-skeyのステータスを次のように追跡しました。
だった
 #! /bin/sh if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then if [ "$2" = "2" ];then echo ' no option :register all MFCs' echo ' -t (--terminate) :terminate this tool' echo ' -a (--add MFC) :register the specified MFC' echo ' -d (--delete) MFC :exclude the specified MFC' echo ' -p (--passwd) PASSWORD :set the password' echo ' -u (--username) USERNAMR :set the user name' echo ' -l (--list) :list the available MFCs' echo ' -m (--mailto) :mail address (scan to e-mail)' echo ' --refresh :refresh setting' echo ' --reset :reset the configuration file' echo ' --diagnosis :print diagnosis data' echo ' -h --help :help' fi echo ' Copyright 2007-2012 Brother Industries, Ltd' exit 0 fi if [ "$1" = "-l" ] || [ "$1" = "--list" ]; then /opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-0 $* exit 0 fi if [ "$1" = "-f" ];then /opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-0 $* else /opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-0 $*& fi 
になっています
 #! /bin/sh if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then ## if [ "$2" = "2" ];then echo ' no option :register all MFCs' echo ' -t (--terminate) :terminate this tool' echo ' -a (--add MFC) :register the specified MFC' echo ' -d (--delete) MFC :exclude the specified MFC' echo ' -p (--passwd) PASSWORD :set the password' echo ' -u (--username) USERNAMR :set the user name' echo ' -l (--list) :list the available MFCs' echo ' -m (--mailto) :mail address (scan to e-mail)' echo ' --refresh :refresh setting' echo ' --reset :reset the configuration file' echo ' --diagnosis :print diagnosis data' echo ' -h --help :help' ## fi echo ' Copyright 2007-2012 Brother Industries, Ltd' exit 0 fi if [ "$1" = "-l" ] || [ "$1" = "--list" ]; then /opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-0 $* exit 0 fi if [ "$1" = "-f" ];then /opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-0 $* else /opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-0 $*& fi 
2番目の引数が必要な理由を理解できませんでした。
このスクリプトをスタートアップに追加します。 /etc/rc.localに追加します
 /opt/brother/scanner/brscan-skey/brscan-skey 

そして、あなたはそれを実行することができます:
 brscan-skey 

悪魔を止めるために
 brscan-skey -t 

9.スキャンディレクトリを定期的にクリーニングするためのスクリプトを作成しましょう
/home/admin/del.sh
 #! /bin/sh work_dir=/srv/scan archiv_dir=/srv/scan/ mkdir -p $archiv_dir ##    ,  -    cd $work_dir mv *.jpg $archiv_dir ## find -maxdepth 1 -type f -mtime +1 -exec mv {} $archiv_dir \; ##   7   cd $archiv_dir find . -type f -mtime +7 -delete 

スクリプト740に権利を設定します

cronを使用して、クリーンアップスクリプトの実行をスケジュールできます。 しかし、毎日電源ボタンを短く押すと、サーバーは営業日後にオフになるため、/ etc / acpi / powerbtn.shファイルに追加しました
 ##    /home/admin/del.sh 


スキャナーの動作を示す短いビデオ。


ご清聴ありがとうございました!

Source: https://habr.com/ru/post/J187168/


All Articles