To print books on A3 efficiently it is better to place pages in order so after printing you could fold sheet, crop corners and get the book.

In short-run typographies fold marks are also used to make publishing process efficient and fast.

To automatize this process I wrote small program on Java, which impose pages on A3 sizes in this logic:

If input document pages dimensions are lesser than A5 then each result A3 page will contain 4 pages from input document.

If input document pages dimensions are bigger than A5, but lesser than A4 result A3 page will contain 2 pages from input document.

How to use

Install Java if it is not installed yet. https://java.com

You can run it from command line like that java -jar imposeonA3.jar file.pdf If you omit input file name, you will see graphical dialog to choose input file. Link to jar

To run in "one click" on Windows you can use this packed exe version (You still need to have Java on your PC). Link to exe

You will see a digalog. Choose file for conversion and click Ok. You will see result file for printion in the same folder as input file but with A3_ prefix.

Source code on GitHub