PLAKATIV(1)

NAME
plakativ - create posters and banners

DESCRIPTION
usage: plakativ [-h] [-v] [-V] [--gui | --nogui]

    [--size LxL | --factor MULT | --maxpages NUM] [-o OUTPUT] [--pagenum PAGENUM] [--pagesize LxL] [--border L[:L[:L[:L]]]] [--layouter {simple,complex}] [--remove-alpha] [--cover-page] [--cutting-guides] [--page-numbers] [--poster-border] [input]

Create large posters by printing and gluing together smaller pages.

This program is for situations when you want to create a large poster or banner but do not have a printer that supports large sheets of paper. Plakativ allows one to enlarge and split a PDF across multiple pages, creating another PDF with pages of the desired printable size. After printing, the pages can be cut and glued together to form a larger poster. Features:

    - lossless operation - no pixel artifacts when upscaling if PDF contains vector graphics - GUI with preview functionality - complex layouter to save paper - optimize by number of pages, output poster size or multiple of input area - support for raster images as input if img2pdf is available

OPTIONS

  positional arguments:

input
    input filename (default: stdin)

  options:

-h, --help
    show this help message and exit

-v, --verbose
    Makes the program operate in verbose mode, printing messages on standard error.

-V, --version
    Prints version information and exits.

--gui
    run tkinter gui (default on Windows)

--nogui
    don't run tkinter gui (default elsewhere)

--size LxL
    Poster width/height either as width times height or one of the known paper sizes (see below). Cannot be used together with --factor or --maxpages.

--factor MULT
    Poster size as multiple of input page area. Cannot be used together with --size or --maxpages.

--maxpages NUM
    Maximum possible poster size with the given number of pages. Cannot be used together with --size or --factor.

-o OUTPUT, --output OUTPUT
    output filename (default: stdout)

--pagenum PAGENUM
    Page number of input PDF to turn into a poster (default: 1)

--pagesize LxL
    Width and height of the output pages or one of the known paper sizes (see below). This is the paper size that you are printing on with your printer (default: A4)

--border L[:L[:L[:L]]]
    The borders on each output page for gluing. This specifies how much the pages overlap each other. If your printer cannot print borderless, then this value should also be larger than the border up to which your printer is able to print. The default unit is mm. Other possible units are cm, in and pt. One value sets the border on all four sides. Multiple values are separated by a colon. With two values, the first value sets top and bottom border and the second value sets left and right border. With three values, the first value sets the top border, the second value the left and right border and the third value the bottom border. Four values set top, right, bottom and left borders in that order.

--layouter {simple,complex}
    The algorithm arranging the individual pages making the poster. The simple layout has all pages in the same orientation. The complex layout is able to sometimes require less pages for the same poster size and is allowed to rotate pages.

--remove-alpha
    When the input is a raster image instead of a PDF document, plakativ can remove the alpha channel for you. The resulting PDF poster might not be lossless anymore.

--cover-page
    Add a cover page as the first page which shows the resulting layout. This is especially interesting for the complex layouter unless you like puzzles.

--cutting-guides
    Print light-gray dashed lines that surround the visible part of each page and can help with easier cutting and gluing of the pages. This is generally only needed if the poster does not contain enough detail for accurate gluing.

--page-numbers
    Print a small number of each page to uniquely identify each sheet. This is especially useful in combination with --cover-page because the numbers on the cover page correspond to the page numbers.

--poster-border
    If the poster itself has a white background and it is important that the final result has precisely the desired poster size, then this option will print a light-gray dashed border around the whole poster, so that it can be accurately cut to the correct overall size.

  Poster size:

    There are three ways to set the size of the final poster. The desired method is selected using the mutually exclusive options --size, --factor and --maxpages. The --size option allows one to specify a width and height into which the input will be fitted, swapping width and height as necessary, to create the largest possible poster with those dimensions while keeping the aspect ratio of the input. The --factor option scales the area of the input by the given multiplier. If the input is a DIN A4 page, then a factor of 2 will create a DIN A3 poster. The --maxpages option allows one to specify a maximum number of pages one is willing to print out and creates the largest possible poster that can possibly be created with the given number of pages. For example, printing a DIN A1 poster on DIN A4 pages with a border of 15 mm will require 15 pages with the simple layouter engine. With --maxpages=15 a slightly larger poster will be generated but will make better use of the available number of pages of paper. Using the complex layouter, an even bigger poster can be generated with just 15 pages of paper by changing the orientation of some of them.

  Paper sizes:

    You can specify the short hand paper size names shown in the first column in the table below as arguments to the --pagesize and --imgsize options. The width and height they are mapping to is shown in the second column. Giving the value in the second column has the same effect as giving the short hand in the first column. The values are case insensitive.

A0  841mmx1189mm

A1  594mmx841mm

A2  420mmx594mm

A3  297mmx420mm

A4  210mmx297mm

A5  148mmx210mm

A6  105mmx148mm

Legal
    8.5inx14in

Letter
    8.5inx11in

Tabloid
    11inx17in

  Borders, cutting and gluing:

    The border on each page set using the --border option has two purposes. Firstly, the border is useful for printers that do not support borderless printing. Secondly, the border is the area where the individual pages overlap and can be glued together. Before gluing, cut away the border area where the printer was unable to print on. As long as you stay within the distance set by the --border option, you don't need precision tools to do the cutting but can cut freehand using a pair of scissors. You only need to cut the borders from those edges that will end up being glued onto another piece of paper. By keeping even the area at the border your printer could not print on from the paper at the bottom you maintain a larger area for the glue.

EXAMPLES
To run the tkinter GUI execute either:

    $ plakativ-gui
    $ plakativ --gui

To use plakativ without GUI from the command line you can run:

    $ plakativ --size A1 --output=poster.pdf input.pdf

This will create a file poster.pdf with multiple DIN A4 pages which, after being cut and glued together will form a DIN A1 poster of the content on the first page of input.pdf.

If img2pdf is available as a Python module, then plakativ can also use raster images as input. Since img2pdf refuses to work on images with an alpha channel, you can instruct plakativ to remove the alpha channel for you with the --remove-alpha flag:

    $ plakativ --size A1 --output=poster.pdf --remove-alpha input.png

AUTHOR
Written by Johannes Schauer Marin Rodrigues <josch@mister-muffin.de>

REPORTING BUGS
Report bugs at https://gitlab.mister-muffin.de/josch/plakativ/issues