How to print multiple copies of an image on a single page
Solution 1
You can use ImageMagick's montage
tool.
-
Install the imagemagic tools
sudo apt-get install imagemagick
-
Combine your images. I have created this image, called
foo.png
as a demonstration:Run
montage
, telling it to make 3 rows of 5 images each (-tile 3x5
), keeping the original size of the image (-geometry 300x400
and give it the same image 15 times as input:montage -geometry 300x400 -tile 3x5 foo.png foo.png foo.png foo.png foo.png foo.png foo.png foo.png \ foo.png foo.png foo.png foo.png foo.png foo.png foo.png montage.ps
The result is:
-
Since that creates a postscript file (the language printers speak), you can print it directly from the command line using tools like
lp
orenscript
. I don't have a printer at the moment so I can't check but this should worklp montage.ps
or
enscript montage.ps
Solution 2
From Command-Line Printing in Linux.
N-Up Printing
The -o number-up=value option selects N-Up printing. N-Up printing places multiple document pages on a single printed page. CUPS supports 1, 2, 4, 6, 9, and 16-Up formats; the default format is 1-Up:
lp -o number-up=1 filename lp -o number-up=2 filename lp -o number-up=4 filename lpr -o number-up=16 filename
The -o number-up-layout=value option chooses the layout of the pages on each output page:
-o number-up-layout=btlr Bottom to top, left to right -o number-up-layout=btrl Bottom to top, right to left -o number-up-layout=lrbt Left to right, bottom to top -o number-up-layout=lrtb Left to right, top to bottom (default) -o number-up-layout=rlbt Right to left, bottom to top -o number-up-layout=rltb Right to left, top to bottom -o number-up-layout=tblr Top to bottom, left to right -o number-up-layout=tbrl Top to bottom, right to left
So I assume it will be something like this:
lp -o number-up=4 number-up-layout=lrtb -d {printer} {filename} -n {copies}
And it should print 4 images from left to right, top to bottom per page for the amount of {copies}. The numbers you can use seems fixed...
If this does not work please leave a comment.
Solution 3
install gThumb (sudo apt-get install gthumb
)
execute gThumb
select several image
right-click and select print
select image tab
increase Rows and Coulms
Solution 4
It is possible and convenient with PhotoPrint.
Install the app in the Terminal:
sudo apt-get update
sudo apt-get install photoprint
When you open the image in the app, click it and choose from the menu Image > Duplicate Image. (also available via rightclick on the image)
Next you choose the amount of columns and/or rows you want to produce under Layout and adjust the other settings like margins and distances between the images.
You can save your settings as default under File in the menu.
Related videos on Youtube
GuySoft
Updated on September 18, 2022Comments
-
GuySoft almost 2 years
I have an image, about 300x300 pixels large. I want to print as many copies as possible on a single page (I am planning to cut them apart with scissors afterwards).
Is there a way to do this? Is there a way to generate a PDF with copies (without opening something like gimp and manually doing copy-paste work).
-
GuySoft over 10 yearsHey, Tried this but I think the DPI is wrong, the images come out pixelated.
-density 300x300
does not seem to help. Any ideas? -
terdon over 10 years@GuySoft when you print them or in the image itself as well? Try using fewer images:
montage foo.png foo.png foo.png foo.png foo.png foo.png -tile 2x3 montage.ps
, just play around with the settings, you probably just need to get the number right so it fits on a single page. Also try Rinzwind's approach. -
GuySoft over 10 yearsIs there a way to set
-d
to print to a file, and not a printer? -
terdon over 10 years@GuySoft use the
-geometry
option to set the size of each image:montage -geometry 303x453 foo.png foo.png foo.png foo.png foo.png foo.png foo.png foo.png foo.png foo.png foo.png foo.png foo.png foo.png foo.png -tile 3x montage.pdf
gives me this pdf. -
GuySoft over 10 years'-geometry' works I can generate PDF like this. thanks!
-
drevicko over 9 yearsNote that the dimensions given in '-geometry` refer to the pixel size of each tile, not of the whole output file.
-
Aoeuid over 8 yearsThis was not successful for me. Using
-n 4 -o number-up=4
caused four sheets to be printed, each with a 1/4 scale copy of my work. I got it to work by piping the output of pdftk like so:pdftk A=file.pdf cat A A A A output - | lp -o number-up=4 -
-
Rinzwind over 8 years@GuySoft nope. But I assume you can pipe it to a file ( > file.pdf) (?)
-
Rinzwind over 8 years@Aoeuid nice one :)
-
DJCrashdummy about 8 yearsfor screenshots better use
LC_ALL=C command
to start the program! -
Hitechcomputergeek about 7 yearsWhat the heck would you use the C locale for? Since this site is mostly English, why not en-US.UTF-8?
-
Mikko Rantalainen almost 7 years
LC_ALL=C
is quaranteed to work, localeen_US.utf8
may be missing on the system so asking somebody to runLC_ALL=en_US.utf8 command
may end up not working. I agree that if real locale is available, it probably is a better option. -
sailfish009 over 4 yearspdf output option is better than ps.
-
Saksow over 4 yearsThis is the best answer
-
Manuzziman about 4 yearsPhotoPrint is not supported on 20.04 at this moment. The anwer on the question askubuntu.com/questions/1179374/… also works.