Split image to multiple pages

I have a large image (80cmx40cm) that I want to print on multiple pages of A4 paper (29,7x21 cm).

Usually I use Gimp as my image processor and I could manually chunk the image, but that would be tedious especially as I will need to do this in semi-regular intervals for other images as well.

How can I either print it directly as one image and let the printer do the splitting?

OR how can I split the image into matching chunks?

I'd prefer a setup in Gimp, but will use any other way (including commandline or online-tool, or whatever).

I plan to tape the paper together then manually. So, if I could do the splitting and printing without having a border on the printout that would be a bonus (if not possible, no problem.)

6 Answers

If you prefer to get it done online, I may suggest this site - .

Click in Create Poster and upload your image. Select the page size options, Effect options (I used to select none) and keep clicking continue until you reach the download page. PDF file will automatically download and you can open using evince or any other PDF program that you may have and print them out

2

ImageMagick does this pretty well, by easily splitting an image into equal-sized tiles.

First make sure your image is sized properly so that, after it is split into equal sized tiles, each tile is the size of the paper you are printing to (otherwise you'll be doing a lot of trimming.)

For example, pad your image with white pixels. In the 80x40cm case, your image should be padded to 3x29.7=89.1cm width (three A4 lengths) and 2x21=42cm height (2 A4 widths.)

Suppose that's myimage.jpg, and it's going to be 3 pages across and 2 pages down to print. And suppose it's 300dpi, so the total image is 10523x4960 pixels.

Then you can pad and crop in one go:

$ convert myimage.jpg -extent 10523x4960 -crop 3x2@ +repage mytiles.jpg

(For ImageMagick 7 I believe the command is "magick" rather than "convert")

The "-extent 10523x4960" command changes the "border" size of the original image to include the padding (with white, because we didn't set any special background first.) The "-crop 3x2@ +repage" does the tiling (note the "@" symbol!)

If you want the padding spaced equally on both sides add "-gravity center" before the "-extent".

ImageMagick can handle all kinds of image formats, including straight from pdf to pdf (though you may have to fiddle with the dpi options.)

4

The first thing to try would be to look at the printer preferences for your printer, and see if it has a feature to split images for you like that. If the printer driver allows that, that's probably the easiest way to do it.

The next thing to try would be to print to PDF, and have Adobe Reader split it across pages -- assuming you have a print-to-PDF printer driver and have Adobe Reader install.

Finally, those solutions don't work, and this is something you'll do frequently, you might create a script for the task.

One sneaky way to script the task would be to create a spreadsheet with a bunch of text expressions that generate HTML or CSS to show only selected portions of your image, then view each chunk of generated in a web browser, and use the browser's print command to print the selected portion of the image. The Stack Overflow question "How can I display just a portion of an image in HTML/CSS?" offers ways to clip an image.

4

I wrote another tool that can do that job for you. Even though its primary interface is a GUI, it has a command line interface as well. Since you want to do borderless printing, just tell it to use a border of 0 cm.

If you are on Linux you can install it with pip. Windows executables are also regularly built on AppVeyor CI:

The source code is hosted here:

plakativ

1

I'm printing an infographic which is much taller than it is wide and I want to print it across multiple pages in one column. pdfposter works although I am losing a small bit on page margins, I have not found a way to control size of page margins used yet.

Worked for my infographic:

$ pdfposter -p 1x2a4 in.pdf out_down_2_A4_pages.pdf
$ pdfposter -p 1x3a4 in.pdf out_down_3_A4_pages.pdf

e.g. for printing landscape or wide pdfs:

$ pdfposter -p 2x1a4 in.pdf out_across_2_A4_pages_sidebyside.pdf
$ pdfposter -p 3x1a4 in.pdf out_across_3_A4_pages_sidebyside.pdf

e.g. for blowing up:

$ pdfposter -p 2x2a4 in.pdf out_double_size_4_A4_pages.pdf
$ pdfposter -p 3x3a4 in.pdf out_triple_size_9_A4_pages.pdf

sudo yum install pdfposter # or apt-get install pdfposter

1

Alternatively, you can use an open source and cross platform command line tool called pdftilecut which takes an arbitrary PDF file and splits it up so they fit inside the page size you specify. For example:

$ pdftilecut -tile-size A4 -in mars.pdf -out mars_a4.pdf

will cut the pages of the mars.pdf into A4 tiles and stores them in mars_a4.pdf.

I'm the author of this tool.

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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

You Might Also Like