I have a pdf file containing small pages, size 6cm by 8cm. I'd like to print them on A4 paper, in 3x3 grids.

If I combine the n-up parameter of my printer settings with 100% scale, I get miniatures, as the 6.5x9 are shrunk by the n-up factor.

If I combine the n-up parameter with fit-to-page, I get oversized print as they are first fitted to a whole A4 page then shrunk by the n-up factor. That's a 125% print.

I imagine I could use an application to do some sort of 3x3 grid repagination before printing but I don't know how.

Could you help? Linux-way preferred, Windows if need be.

  • My friend's comp prof used to say "always use your LaTex!" I suspect you should find an answer using some type of editor, maybe in TeX (there's even a whole SE site about it, with Q's like this, tried searching over there?) or some other PDF editor, word processor, etc
    – Xen2050
    Feb 7, 2017 at 14:41
  • Convert to ps, then use pstops with custom scale and offset. Might need a bit of experimenting until the pages look like you want them to.
    – dirkt
    Feb 7, 2017 at 15:23
  • Are you familiar with Indesign? It could be made in InDesign pretty easily. Feb 7, 2017 at 18:09
  • @Xen2050: I was talking (but didn't mention it) about an all gfx PDF file, so LaTeX is not easily involved. But, eventually, the solution I found is likend to it: pdfjam! So thanks.
    – tofcute
    Feb 8, 2017 at 15:09
  • @dirkt: Thanks to the pointer to pstops and the other psutils. I toyed with them and found a near solution. Unfortunately, I encounter some problem in the mandatory pdf2ps conversion that adds some extra margin around the pages!
    – tofcute
    Feb 8, 2017 at 15:10

1 Answer 1


The solution I found is the pdfjam package, a pdf equivalent to psutils. All I need to do is this simple command:

$ pdfjam --nup 3x3 --noautoscale true --suffix 3by3 source-file.pdf


  • nup 3x3 in order to create the 3 by 3 grid
  • --noautoscale true to avoid fit-to-page scaling
  • --suffix 3by3 so that the output file is named source-file-3by3.pdf

As a note, I alternatively could use psnup this way:

$ pdf2ps source-file.pdf - | psnup -9 -s1 -p a4 | ps2pdf - destination-file.pdf
  • -9 indicating to psnup I want to place 9 pages per page
  • -s1 forcing a 100% scale, keeping the original pages their original size
  • -p a4 for a4 output (beware on Debian, it is overridden by /etc/papersize)

Unfortunately, the pdf2ds conversion puts margins all around the original pages, so a 3 by 3 grid does not fit anymore on an a4 page.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.