Fixing Printer Margins in Linux
I've just spent a frustrating hour trying to find the right program and print options to print a PDF without extra margins or scaling. Thankfully, I've found the solution: disable the printer's "scale to fit" option.
Perhaps you've seen this problem yourself. I created a PDF with landscape orientation and carefully measured layout, but when printed it would be scaled smaller with an extra margin (and sometimes even switched to portrait). I tried every print option and program available. I started with evince. Then I switched to acroread and tried configuring scaling, rotation, Postcript level 2, Postscript level 3, every option I could find. I even tried lp and lpr. No matter what I tried my margins were incorrect.
Finally I realized that if every program was wrong, it was probably the print driver's fault. Sure enough, CUPS, the most common Linux printing system, was performing the scaling.
From the command line: /etc/printers.conf
One way to eliminate the extra margin is to edit your /etc/cups/printers.conf and disable the fitplot option.
Option fitplot false
Using a GUI: system-config-printer
On Fedora and Ubuntu, system-config-printer can be used to configure CUPS. If you're more comfortable using a GUI, I've included a screenshot showing the option I'm referring to.