05 April 2009

Fungsi Scanner di Brother MFC-8460N (2)

Sebelumnya gue udah bahas tentang fungsi scanner di Brother MFC-8460N di blog ini (link). Karena salah satu MIS selalu komplain hasil scan cuman satu halaman saja, terpaksa gue cek lebih jauh lagi. Dan nemu deh problemnya. Well ... Linux harus dikasih solusi deh. Gue nggak mau kalo mereka merasa client Linux nggak bisa. Padahal client Windows bisa.

Cara scan di device ini bisa dari 2 tempat:
  1. FlatBed

    Seperti mesin photocopy tradisional. Buka cover, taruh kertas, scan. Buka cover lagi, ganti kertas lagi, scan lagi. Dan seterusnya. Hasilnya 1 file (1 image saja). Cara yang nggak praktis untuk scan banyak dokumen.

  2. Automatic Document Feedeer

    Letaknya di paling atas. Tinggal masukkan setumpuk kertas dan mulai scan. Hasilnya akan disimpan ke dalam 1 file (tapi multi image). Bener-bener praktis untuk scan banyak dokumen.

Di Windows ke duanya berfungsi dengan baek. Tapi di Linux agak laen. Ternyata script dari Brother (dalam paket brscan2) hanya mengijinkan menyimpan 1 file (1 image saja). Sehingga baek no.1 atau no.2 di atas, hasilnya hanya lembar pertamanya yang discan. Alias gambar pertama saja :-D

Coba perhatikan baris terakhir di file ini (cetak tebal):

$ tail /usr/local/Brother/sane/script/scantofile-0.2.1-1.sh

...
output_file=`mktemp ~/brscan/brscan.XXXXXX`
chmod 644 $output_file
echo "scan from $2($device) to $output_file"
scanimage --device-name "$device" --resolution $resolution> $output_file


Pada baris terakhir, penggunaan "scanimage" itu jadi penyebabnya. Command "scanimage" hanya menyimpan proses sekali scan saja. Makanya setiap scan 1 lembar, nggak ada problem. Tetapi scan lebih dari 1 lembar, hanya tersimpan lembar pertama saja.

Setelah cek kesana kemari, di Ubuntu Linux menyerta satu utility lagi selain scanimage. Yaitu "scanadf" yang ada dalam paket "sane". Dan scanadf bisa  menghandle scan lebih dari 1 lembar dengan baek. Tentu saja untuk beberapa jenis scanner. Dan rupanya Brother MFC-8460N didukung dengan baek.

Jadi untuk menggunakan scanadf di script itu, ten
yata bisa. Dan ini modifikasi gue untuk script /usr/local/Brother/sane/script/scantofile-0.2.1-1.sh versi Brother. Sehingga hasil scan bisa multiple image dan disimpan ke format TIFF.

Ini 3 baris terakhirnya setelah gue rubah (cetak tebal):

$ tail /usr/local/Brother/sane/script/scantofile-0.2.1-1.sh

...
output_file=`mktemp ~/brscan/brscan.XXXXXX`
chmod 644 $output_file
echo "scan from $2($device) to $output_file"
scanadf --device-name "$device" --resolution $resolution> $output_file
convert -adjoin `ls image-????` image-`date +%G%m%d%k%M`.tif
rm -f image-????


Karena perintah "scanadf" dan "convert" dipake di sini, jangan lupa install 2 paket ini:

sudo apt-get install sane imagemagick

Dan kalau menginginkan menyimpan hasil scan ke PDF, rubah saja baris ini (cuman extensionnya saja yang beda):

convert -adjoin `ls image-????` image-`date +%G%m%d%k%M`.pdf

Selama proses scan, sekarang semua file akan disimpan di $HOME folder. Ya tentu saja akan keliatan file image-xxxx (berformat PNM) lumayan banyak deh. Sebanyak lembar yang di scan. Setelah kelar, semua file image-xxxx akan di gabung ke format TIFF/PDF dengan perintah convert. Lalu semua file image-xxxx akan dihapus dari $HOME folder. Dan hasilnya file TIFF/PDF saja yang ready di $HOME folder.

Goodluck




Tidak ada komentar: