Print PDF to exact size (Brother MFC-J5620DW)

I need to print some adhesive labels - for that I’ve a PDF file with the exact dimensions from the papers manufacturer. But I can’t get my printer and/or the software to print it without resizing And the worst part: even different programs print differently - if I print from “document viewer” the top-part roughly matches up, if I use okular its a better fit with the bottom part of the page. I’ve already tried all the “fit to page” and “resize PDF” options but none seem to work and quite frankly I getting a bit frustrated.

So my question is: Is there any “low level no bullshit” option to print (probably even from the command line) that does as little “preprocessing” as possible and just sends the page as it is to the printer - ignore resizing, ignore margins, ignore everything: Just take the page as is and print whats inside the printable area?

To ilustrate the problem: The same document, once printed with Document Viewer and once with Okular - both with the setting “Print Saling: None” and for Okular also with “PDF-Options → Scale Mode: None”

A PDF can not be printed directly (because it does not contain binary data of pixels). It needs to be interpreted by some software to be displayed or printed. This software will “render” the pdf to pixels. In most cases the software to render a PDF will be Ghostscript (or its libraries).

There are often parameters that can be given while rendering. You may find them in the print-dialog

  • The scaling mode might be set incorrectly
  • The margins may be set incorrectly

Be aware:

  • Every Printer-driver will give different results
  • Even selecting another paper-quality may change the scaling :man_shrugging:

:footprints:

  • Der Skaliermodus könnte falsch eingestellt sein
  • Die Ränder könnten falsch eingestellt sein
  • Die Seitengröße könnte falsch sein

Thank you for your reply… Scaling-Mode was set to “None” in both cases. Margins were set to the lowest possible setting. Fit to Page was also set to “None”. But still there seems to occure some sort of scaling in “Document Viewer” (1) because otherwise the line on top and bottom shouldn’t be visible since the document is exactly DinA4 and the black border is in the outer edges. And for some reason “Okular” (2) seems to add more margins than Document Viewer - something both shouldn’t do for the template to fit the label-sheet.

Setting scaling to NONE does not disable scaling, but sets the factor to 1.0.
This does not affect the border. Different values for border will have differnet effects in every program. There is no real standard to this, because every printer vendor does ist own things in his drivers :see_no_evil:
And some printers do think they should scale a print-job (inside the printers memory) because the printer thinks it may otherwise not fit on the page.

If 1.0 does not fit your needs, you may need to select something other :wink:

You also can try to load the PDF into

  • LibreOffice (Draw)
  • Inkscape
  • Gimp
  • Firefox
  • qpdfview

Every program may give you other options when printing the same PDF

But is there a program that can set borders to 0? I mean: Even if the printer doesn’t support it natively, this should be doable in software by setting the scale to 1 and than cropping the page by the minimum margins of the printer - shouldn’t it?

I’d check to see if you have an option for this printer to do “Full Bleed” or “Borderless” printing.

I have multiple cup printer definitions for the same physical printer. One with standard borders, one with duplex, and one with borderless.

See Brother online manual, Unprintable Area.
You should be able to select the Media, so then your margins in your pdf will be absolute and not relative to those in the ppd file.

I took a look at the brother-mfc-j5620dw package. Here is an example of the contents for Letter. You can see the difference between borderless and not.

===> grep -i -E -e 'ImageableArea .*Letter.*' -e 'defaultimageable' -e 'hwmargin' brother_mfcj5620dw_printer_en.ppd 
*DefaultImageableArea: Letter
*ImageableArea Letter/Letter:								"9 9  603 783"
*ImageableArea BrLetter_B/Letter (Borderless):				"0 0  612 792"

I haven’t used it much, but you might be able to do something with the lp command from the command line. Also see lpstat -p and lpoptions -l -d <prt>. But I’m betting on borderless will help a lot.

Last, from the CUPS help:

CUPS understands many different types of files directly, including text, PostScript, PDF, and image files. This allows you to print from inside your applications or at the command-line, whichever is most convenient!

Try and use the Program GLabels. Then set it up for the labels you have.

Thank you for your input… I’m afraid I’m not knowledgeable enough to really understand what’s going on here. However I was able to find the borderless option - and now it is scaling in the other direction - printing at more than 100% size :dizzy_face: So now my labels don’t match the sheet because each is a bit to large.

Thank you for this suggestion. Unfortunately this doesn’t solve my problem, because I’ve already generated my labels in the right dimensions. I just can’t get my system to print a 210 x 297 mm file onto a 210 x 297 mm paper without any resizing. And gLabels has the same problem, as soon as I print it it gets scaled down.

Searching the KDE and QT bug databases does have hits. There was one bug report that the user said printing a pdf from firefox worked for him. Perhaps search the KDE Bug database and see if something applies.

When you look at the print dialog, double check everything and apply.

Current KDE apps are going to rely on QPrint. Older apps probably wrote their own print dialog, and gtk apps have their own libraries. Firefox is a gtk app, but has an option to use the native print dialog. Or skip the gui and try lp or lpr.