I was affected by a similar problem for the Brother DCP-7055. I'm posting an analysis and solution here in hope it might help others; if there are better places to spread the information, pointers are welcome.
It also raises the general question of a policy to handle margins; maybe that is interesting for the cups-developers, too. Analysis: The Brother driver for the DCP-7055 and similar printers consists of several stages, probably accumulated over time: 1. A wrapper that installs PPD files and a filter in CUPS 2. The filter, which calls into the older LPD-driver 3. The LPD-Driver calls ghostscript with -sDEVICE=bit to produce raw data, which is feed into the rawtobr3 program 4. rawtobr3 prodces a PJL job and PCL commands in a Brother-specific encoding The problem is that all of these stages contain code to handle the margins. Rawtobr3 expects a full-sized page and cuts off some fixed border; the printer itself probably cuts off the rest. The installed CUPS-filter injects a HWMargin command into the Postscript-file, this will cause a blank margin region when used with the bit-driver. The PaperDimension and possible ImageableArea information in the PPD file also affect the end result, I didn't investigate the details. The code to handle margins in the result of the pipeline does not seem to be executed. If the margin is cut off several times, or if the size of the resulting image is too small, the end result may appear shifted or the margins may be wrong, because the image is always positioned on the lower left corner. Solution: 1. Change "PCL=1" to "PCL=0" in the filter (/usr/local/Brother/Printer/<modelname>/lpd/filter<modelname>). This will disable injection of HWMargin. 2. Change the ImageableArea to the full area (as given by PaperDimension) without margins in both PPD (original in /usr/share/cups/model, installed in /etc/cups/ppd/) to be on the safe side. 3. The other code to shift the image or handle margins in the brother pipeline does not seem to be executed With this changes, I was able to print a full image, correctly centered and with minimal margins. An alternative would be to provide a simple filter-script by CUPS for these Brother printers that just calls ghostscript and rawtobr3 directly, avoiding the byzantine layers of scripts of the brother driver, and making sure all options are processed correctly. I don't know if the CUPS developers would be interested in maintaining such a script. -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to cups-filters in Ubuntu. https://bugs.launchpad.net/bugs/962287 Title: Brother DCP 7065DN margins are incorrect when printing Status in “cups-filters” package in Ubuntu: Invalid Bug description: Note: this might be a bug in the binary drivers by Brother instead of cups-filters. Assigning it to cups-filters because they already contain some workaround for Brother printers. Printing from acroread seems to work just fine, but not from evince or lpr (even with scale-to-fit set). The PostScript that is send to the driver displays correct in ghostscript. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cups-filters/+bug/962287/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp

