Poster Printing with Inkscape
Tags: printing, linux, inkscape
Published: 2023-06-26 00:53:20

---
title: Poster Printing with Inkscape
published: true
date: 2023-06-26 00:45:00 UTC
tags: Printing,Linux,Inkscape
canonical_url: https://kevincox.ca/2023/06/25/inkscape-poster-printing/
---

<main style="--width:min(36em,100%);display:grid;grid-template-columns:1fr var(--width) 1fr;overflow:auto;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em">I wanted to print out a document over multiple pages in a posterized/tiled fashion. I was surprised to find few options to do this on Linux. The native GTK or Qt print dialogs don’t support it. One solution was <a href="https://posterazor.sourceforge.io" style="box-sizing:border-box;margin:0;text-decoration:underline;-webkit-text-decoration-color:gray;text-decoration-color:gray">PosteRazor</a> but the UI was a bit janky and I found it hard to configure. The biggest downside however is that it requires raster images as input. My input was vector based and even when rendering at very high resolution (which slowed down every step of the process) the result wasn’t as good as on-printer dot-aware rasterization.</p>
<p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em">Then I discovered <a href="https://inkscape.org/" style="box-sizing:border-box;margin:0;text-decoration:underline;-webkit-text-decoration-color:gray;text-decoration-color:gray">Inkscape</a>’s <a href="https://wiki.inkscape.org/wiki/Multipage" style="box-sizing:border-box;margin:0;text-decoration:underline;-webkit-text-decoration-color:gray;text-decoration-color:gray">multi-page support</a> and it was a perfect fit for my use case.</p>
<aside style="background:#333;box-shadow:4px 4px 8px #000;box-sizing:border-box;color:#fff;grid-column:2;margin:.2em 1em .6em"><p style="box-sizing:border-box;margin:.4em"><strong style="box-sizing:border-box;margin:0">Note</strong>: Inkscape is an “SVG editor” but it can import a wide variety of formats, so this technique can likely be applied to any poster-printing problem that you have. There is almost certainly overlap in the formats that your creation tool can export and what Inkscape can import.</p></aside><p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em">What is unique about posterizing in Inkscape compared to the tools I have used in the past is that the page layout is manual and saved as part of the document. While this could be a downside if you needed to output many pages or many documents it was a big benefit for me. It allowed me to place the page divisions in locations that they would be least noticeable (for example avoiding seams down lines of text) rather than setting a large overlap and hoping for the best. Additionally, being saved as part of the document means that I don’t need to reconfigure the posterization if I need to print again after modifications, the layout is remembered.</p>
<h2 id="inkscape-multipage" style="box-sizing:border-box;grid-column:2;margin:1.5em 1rem .8em"><a href="https://kevincox.ca/2023/06/25/inkscape-poster-printing/#inkscape-multipage" style="box-sizing:border-box;color:inherit!important;margin:0;text-decoration:inherit;text-decoration:underline;-webkit-text-decoration-color:gray;text-decoration-color:gray;text-shadow:inherit!important">Inkscape MultiPage</a></h2>
<p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em">Multipage is implemented in an interesting way. Instead of each page being independent you can arrange them in space any way you like.</p>
<p style="box-sizing:border-box;font-style:italic;grid-column:2;margin:0 1rem .8em;text-align:center"></p>
<p style="box-sizing:border-box;margin:0"><img src="https://kevincox.ca/a/page-layout-zFc7my.png" alt="Pages laid out in a cross" style="box-sizing:border-box;height:14em;margin:0"></p>
<figcaption style="box-sizing:border-box;margin:0"><p style="box-sizing:border-box;margin:0">Sure, why not?</p></figcaption>
<p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em">But most importantly graphics can cross pages.</p>
<p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em"><a href="https://kevincox.ca/a/cross-page-HF3wF2.png" style="box-sizing:border-box;margin:0;text-decoration:underline;-webkit-text-decoration-color:gray;text-decoration-color:gray"><img src="https://kevincox.ca/a/cross-page-HF3wF2.png" alt="A spiral going across four pages" style="box-sizing:border-box;display:block;height:14em;margin:0 auto .8em;max-width:100%;min-width:40%"></a></p>
<p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em">And pages can overlap.</p>
<p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em"><a href="https://kevincox.ca/a/overlap-Y3tKUQ.png" style="box-sizing:border-box;margin:0;text-decoration:underline;-webkit-text-decoration-color:gray;text-decoration-color:gray"><img src="https://kevincox.ca/a/overlap-Y3tKUQ.png" alt="A spiral going across four pages that are overlapping" style="box-sizing:border-box;display:block;height:14em;margin:0 auto .8em;max-width:100%;min-width:40%"></a></p>
<h2 id="arranging-the-pages" style="box-sizing:border-box;grid-column:2;margin:1.5em 1rem .8em"><a href="https://kevincox.ca/2023/06/25/inkscape-poster-printing/#arranging-the-pages" style="box-sizing:border-box;color:inherit!important;margin:0;text-decoration:inherit;text-decoration:underline;-webkit-text-decoration-color:gray;text-decoration-color:gray;text-shadow:inherit!important">Arranging the Pages</a></h2>
<p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em">This is basically all we need to posterize an image. Just add multiple pages to the document using the “Create and edit document pages” tool in the main toolbox toolbar. Then overlap them to suit yourself.</p>
<p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em"><a href="https://kevincox.ca/a/poster-UZHbgH.png" style="box-sizing:border-box;margin:0;text-decoration:underline;-webkit-text-decoration-color:gray;text-decoration-color:gray"><img src="https://kevincox.ca/a/poster-UZHbgH.png" alt="Some text and a cat silhouette tiled over six pages" style="box-sizing:border-box;display:block;margin:0 auto .8em;max-width:100%;min-width:40%"></a></p>
<aside style="background:#333;box-shadow:4px 4px 8px #000;box-sizing:border-box;color:#fff;grid-column:2;margin:.2em 1em .6em"><p style="box-sizing:border-box;margin:.4em"><strong style="box-sizing:border-box;margin:0">Tip</strong>: The first page defines the SVG viewport and what will be visible when viewed as an SVG. You may consider leaving the first page covering the whole document, then adding extra pages for printing. In this case you will just have to skip printing the first page (which contains the entire document).</p></aside><p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em">With this technique you also aren’t limited to simple M by N layout. For example the cat in the above picture is divided among pages. If I wanted it to look perfect I could add another page that contained the whole cat. Then when assembling the poster I can place that full-cat image on top to ensure that there are no seams that would be difficult to align.</p>
<p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em"><a href="https://kevincox.ca/a/cat-6xtbE_.png" style="box-sizing:border-box;margin:0;text-decoration:underline;-webkit-text-decoration-color:gray;text-decoration-color:gray"><img src="https://kevincox.ca/a/cat-6xtbE_.png" alt="A poster with a seventh page for the cat" style="box-sizing:border-box;display:block;margin:0 auto .8em;max-width:100%;min-width:40%"></a></p>
<h2 id="printing" style="box-sizing:border-box;grid-column:2;margin:1.5em 1rem .8em"><a href="https://kevincox.ca/2023/06/25/inkscape-poster-printing/#printing" style="box-sizing:border-box;color:inherit!important;margin:0;text-decoration:inherit;text-decoration:underline;-webkit-text-decoration-color:gray;text-decoration-color:gray;text-shadow:inherit!important">Printing</a></h2>
<p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em">Inkscape’s built-in printing doesn’t support multipage. It will just print the first page. In order to print the posterized document use “File → Save a Copy” and save in PDF format. This will save as multiple pages. Then you should be able to open in just about any PDF viewer and print.</p>
<p style="box-sizing:border-box;grid-column:2;margin:0 1rem .8em"><a href="https://kevincox.ca/a/pdf-KctkWQ.png" style="box-sizing:border-box;margin:0;text-decoration:underline;-webkit-text-decoration-color:gray;text-decoration-color:gray"><img src="https://kevincox.ca/a/pdf-KctkWQ.png" alt="The posterized pages in a PDF viewer" style="box-sizing:border-box;display:block;margin:0 auto .8em;max-width:100%;min-width:40%"></a></p>
<aside style="background:#333;background:#600;box-shadow:4px 4px 8px #000;box-sizing:border-box;color:#fff;grid-column:2;margin:.2em 1em .6em"><p style="box-sizing:border-box;margin:.4em"><strong style="box-sizing:border-box;margin:0">Warning</strong>: Don’t <em style="box-sizing:border-box;margin:0">Export</em> or <em style="box-sizing:border-box;margin:0">Print</em> as a PDF. These options will only export the first page.</p></aside></main>