The Brother MFC-7840W is a black & white Laserprinter with Scan and Fax function. Connection to the computer is done via USB, Ethernet or wireless (WiFi, 811.02b/g). Additionally, it comes with an automatic document feeder with a capacity of 35 pages.
Overall the printer works very well. However, I didn't manage to get connect rates >11 MBit/s in Ad-Hoc mode. Scanning under Windows Vista via WLAN is excruciatingly slow (rates about 1 MB in 2,5 min), which makes it quite unusable. Unter Linux there are no such problems. Scanning of a DIN A4 page with 600 dpi, 24 bit needs about 4 minutes (printer connected via Ethernet to a wireless router, 90 MB scan data, producing a 70 MB tiff file). Printing speed is independet of operating system. Following data might serve as an example: a 20 page document with about 10 MB of print data needs roughly 2 min (USB) or 5 min (WLAN) to print. The automatic document feeder cuts a few millimeters from every DIN A4 master and offsets the copy correspondingly, which affects both scanning and copying. Depending on the paper type, the printed pages get corrugated, which in turn can lead to paper jam in the (not very large) output tray.
Different network topologies are possible. Ad-Hoc and infrastructure mode for WiFi work, same holds true for using a router. In any case the printer should be assigned a static IP-address in the local net.
Under Linux installation and usage is possible without any problems with the Brother-supplied drivers.
The drivers and installation instructions from Brother can be found on the Brother Linux Driver Homepage.
Arguably the supplied scripts for the scanner key of the printer are far from being user-friendly. Therefore I have created my own versions. I wanted to make the scanning with the scanner key directly at the printer as comfortable as possible.
Currently scanning into a file (supported output formats: jpeg, tiff, pdf, png, and eps), scanning into a image maniplation program, scan-to-email and a simple OCR functionality are implemented. Additionally there is a small configuration program, which allows comfortable setting of all relevant parameters.
ATTENTION!
I have created the scripts for myself and for my needs they are working. This does not imply, that they are extensively tested. The could simply not be working on other machines, they could erase all private date, lead to the destruction of the computer or to the third world war - who knows? In summary: I guarantee nothing. If you download the scripts and use them, you are responsible for whatever happens.
Of course, first of all you have to own a Brother MFC-7840W. It may work with other printers from Brother as well, but I can't even guess about this. If it's possible, I would be happy to receive a note.
Update: According to I. Peplinsky the scripts also work for the Brother MFC-490CW under OpenSuse. M. Huth reported using the scripts successfully with the Brother MFC-8890DW.
The basic setup must be working, i.e. the Brother drivers are installed and working. Especially brscan-skey must be running.
The following packages have to be installed (Linux/Ubuntu): (I hope the list is complete)
libsaneDownload the latest .deb package and install it, e.g. on the commandline with:
dpkg -i aiotools_090901_all.deb.
User installation (execute for each user once): ConfigSKey --init.
Download the latest Snapshot. Unpack, e.g. on the commandline with:
tar xzvf AIOTools-090904.tgz. Change into the created directory and start the installation with:
sudo ./installAIOTools.sh. If you want to omit the dependency check of
apt-get, use --nodeps as paramater to the install script.
User installation (execute for each user once): ConfigSKey --init.
If the installation described above makes any problems, you want to do it yourself or if you simply want to konow the gory details.
The following files are installed/modified:
| Datei | Beschreibung | Bemerkung |
|---|---|---|
/usr/local/Brother/sane/script/myscantofile.sh |
Shell script for scanning into a file | |
/usr/local/bin/ImgIsBlank2 |
Helper script for the identification of empty pages | Has to be in the PATH for ConfigSKey. |
/usr/local/Brother/sane/script/myscantoimage.sh |
Shell script for scanning to an image manipulation application | |
/usr/local/Brother/sane/script/myscantoocr.sh |
Shell script for text recognition | |
myscantoemail.sh |
Shell script for direkt sending of scans via email | |
/usr/local/bin/ConfigSKey |
Configuration program | Perl/Tk. Not essential for the scan scripts. |
/usr/local/share/perl/5.10.0/ConfigSKey/Messages.pm |
Translations for ConfigSKey | Has to be in the Perl search path, exact location depends on distribution. |
/usr/local/Brother/sane/brscan-skey-0.2.1-1.cfg |
Central configuration file for für brscan-skey | |
| $HOME/.brscan | Configuration folder in the user home directory | |
| $HOME/.brscan/brscantofile.cfg | Configuration file for scan to file | Necessary for scanning. |
| $HOME/.brscan/brscantoemail.cfg | Configuration file for scan to email | Necessary for scanning. |
| $HOME/.brscan/brscantoimage.cfg | Configuration file for scan to image | Necessary for scanning. |
| $HOME/.brscan/brscantoocr.cfg | Configuration file for scan to OCR | Necessary for scanning. |
| $HOME/.brscan/brscantoemail.body | Enthält den Text für den email-body | Necessary for scanning. |
| $HOME/.configskey | Configuration file for ConfigSKey | Only necessary for ConfigSKey |
In my case the central configuration file for brscan-skey looks like:
password=
IMAGE="sh /usr/local/Brother/sane/script/myscantoimage.sh"
OCR="sh /usr/local/Brother/sane/script/myscantoocr.sh"
EMAIL="sh /usr/local/Brother/sane/script/myscantoemail.sh"
FILE="sh /usr/local/Brother/sane/script/myscantofile.sh"
SEMID=b
eth=eth1
The last entry is necessary, because on my computer the wireless card is called "eth1".
Just to be sure, issue
brscan-skey -ton the commandline.
brscan-skey
Call ConfigSKey --init in a shell. This will create the configuration
directory in the home directory of the user including a.m. configuration files and the file for the email
body. The brscan-skey background process can also be restarted via ConfigSKey.
The scan scripts itself work without ConfigSKey, there is no need for a graphical user interface on the system
or a Perl/Tk installation.
The installation is now completed.
The usage should be almost self-explanatory (which means I'm too lazy to write anything more about it). The shell script are automatically invoked by brscan-skey und do their work in the background. The configuration is done with ConfigSKey. You can start the program from the command line or from a Gnome or KDE start menu.
Scanner resolution: The hardware resolution of the scanner.
Mode: Hardware mode for scanning.
Source: Determines which to use: Flatbed or Automatic Document Feeder (ADF). Influences how the scanned pages are further processed.
Paper size: Currently only A4 is implemented.
Output file format: Determines the possible output formats. The created file is dependent on the source (Flatbed or ADF).
jpeg: Black & White or gray scans produce grayscale-JPEGs. Qualityfactor always 95%.
tiff: Tagged Image Format, zip-compressed. The script always creates individual graphics.
png: Portable Network Graphics. The inclusion of the authorinfo does currently not work (vide supra).
ps: When using Flatbed eps is created, when using the ADF (multi-page) Postscript documents. The script tries to create "real" vector graphics, an inclusion of bitmaps into postscript does not take place.
pdf: When using the ADF a PDF-document is created which contains all scanned pages.
svg: Produces editable vector graphics, e.g. for use with Open Office Draw.
Page format: One-sided or double sided originals; important for the correct calculation of run numbers (vide supra).
Direction: Determines if scanning is done from the beginning to the end or vice versa. Important for the correct calculation of run numbers (vide supra).
Ignore pages with more than 95% of pixel with a luminosity > 254. This option allows the filtering of white pages. Two parameter are needed: the fraction of "white" pixel, above which the page is discarded and the threshold above which each pixel is considered as "white pixel" (important for gray, but otherwise empty pages). The threshold depends on the Mode, for B&W scans this must be "1", otherwise values between 0 and 255 are allowed.
Run number: Used for the continuous numbering of the files.
Output directory: Here you will find all scanned pages in the desired format. The directory is created, if it does not exist. Files with the same name get overwritten.
Filename - Head:
Filename - Tail: The filenames are created according to following scheme: [Head][Run number][Tail].[Extension].
Head und Tail can be chosen by the user, the run number is calculated automatically depending on the settings of Page format and Direction and the Extension is chosen based on the output format.
Author:
Creator:
Title:
Subject:
Keywords: These fields are copied into the same fields in a pdf document.
Reload Loads the configuration file, e.g. after it has been altered by the scanner script.
Save Saves the configuration.
Quit Guess what?.
Application example: scanning of a long, double-sided document with the ADF.
Assume that you have an extended, double-sided collection of individual pages, which you want to scan. First you set the run number to the first page number, chose the filename and perhaps tiff as output format. Set Page format to double sided and Direction to normal. Now you feed all pages into the ADF...
If all front pages have been scanned (with run numbers 0001, 0003, 0005, etc.), you press Reload, thereby adjusting the run number. You have to decrement it by one (as you will now be scanning the back pages) and set Direction to invers. Now you turn the bunch of papers around and feed them into the ADF... You end up with files numbering from last page, last page-2, last page-4, etc. Together with the first pass you now have all pages scanned and numbered correctly.
Scanner resolution: The hardware resolution of the scanner.
Mode: Hardware mode for scanning.
Source: Determines which to use: Flatbed or Automatic Document Feeder (ADF). Influences how the scanned pages are further processed.
Paper size: Currently only A4 is implemented.
Page format: One-sided or double sided originals; important for the correct calculation of run numbers (vide supra).
Direction: Determines if scanning is done from the beginning to the end or vice versa. Important for the correct calculation of run numbers (vide supra).
Run number: Used for the continuous numbering of the files.
Output directory: Here you will find all scanned pages in the desired format. The directory is created, if it does not exist. Files with the same name get overwritten.
Filename - Head:
Filename - Tail: The filenames are created according to following scheme: [Head][Run number][Tail].[Extension].
Head und Tail can be chosen by the user, the run number is calculated automatically depending on the settings of Page format and Direction and the Extension is chosen based on the output format.
Invert image: Inverts the image before the text recognition process.
Filterradius: Radius of the Gaussian smoothing filter in pixel. Details or artefacts smaller that the filter radius are deleted.
Threshold: A pixel with a value above the threshold will become white, below the value it will become black.
Language: Used for text recognition. Supported languages: German (deu), German Fraktur (deu-f), English (eng), Spanish (spa), Italian (ita), French (fra), Portuguese (por) und Dutch (ndl).
For master copies in high quality (white background, good print) the following values might serve as guidelines for own experimentation: 600 dpi, scanning in True Gray, Radius 16, Threshold 290, language according to master. For dithered gray or B&W the parameters radius and threshold have not effect.
Scanner resolution: The hardware resolution of the scanner.
Mode: Hardware mode for scanning.
Paper size: Currently only A4 is implemented.
Command: Command for the application. "%s" is the placeholder for the temporary filename. The file will be deleted after the application finishes. It should therefore be saved under another name.
The application gets called with a TIFF file, as the tiff-format presevers the information about the resolution in contrast to e.g. PNG. Only one page is scanned and submitted to the application. It's possible to use the ADF, though.
For most of the parameters: please have a look at the section for "scan to file". The email-specific parameters are covered here:
To-Address: Recipient of the email.
Reply-To: Sender of the email for responding. The From: field is always set to the current user.
Email subject: Subject-line for the email (not to be confused with the Subject for file info).
Email body: Text for the main part of the email.
Delivered gets a MIME-encoded email consisting of two parts (multipart/mixed): one text part (see above9 and one attachment part with the scans. The attachment is zip-compressed, the format of the graphics depends on the settings.
Start Scanner Key Demon Starts the background process that registers itself with the printer and waits for key presses.
Stop Scanner Key Demon Ends the background process.
Kill Scan Process Stops the scan program ungently. Only for emergencies.
Using the printer's scan-to-ftp function and a connected colour printer (InkJet or similar) the Brother MFC-7840W can be used for the simple production of colour copies.
Copy the script brcolcop into the path and make it executable.
First you have to create a suitable scan-to-ftp profile (the default values can be changed using the script configuration) on the printer. This can easily be done using the Web frontend.
NOT YET. For the script a configuration file can given with has to obey the following format:
# brcolcop configuration file
login="ftp"
password="ftp"
port="9900"
printer="iP3300" # color printer
If the configuration file is .brscan/brcolcop.cfg, the colour copy server can be started
via brcolcop --config-file ./brscan/brcolcop.cfg.
If you now scan pages with scan-to-ftp at the MFC-7840W (using the right profile, of course) they get printed on your color printer without any further user intervention.