Making 2up booklets from PDF / PS / DVI files

Example

Say you want to print this paper, but not waste paper (the large margins seem to only facilitate tree murder). With the scripts on this page, you can transform it to something like this, which is designed so that if you print it on a duplex printer and cut down the middle, it will look like a little booklet similar to those "offprints" journals often provide you.

Notice that the output produced by this script is much much better than using psnup, or selecting the Multiple pages per sheet in acroread. Either of the above methods will shrink the entire page including the margins, resulting in 2up'ed booklets with HUGE margins and TINY text. The point of the scripts on this page is to ignore the margins, and shrink the pages so that your 2up'ed booklets have TINY margins, and the text is as large as possible!

You can of course print it in different formats, which don't involve cutting / folding down the middle, or even put 4 pages per side.

Download

mkbooklet.pl and pscenter.pl.
(GPG Signatures: mkbooklet.pl.sig, pscenter.pl.sig.)

Dependencies

  1. perl (Required)
  2. psutils (Required)
  3. ghostscript (Required)
  4. poppler (Optional): For converting PDF files to PS with embedded fonts via command line.
  5. acroread (Optional)

Instructions

  1. Get the scripts above, and put them somewhere in your path. Then get a paper you want to print and save it to a file, say paper.pdf.
  2. Find out the dimensions of the source paper. Either type

    pdfinfo paper.pdf

    if you have poppler installed, or open the file in acroread. Say the paper size is 8.5x11in.
  3. Convert paper.pdf into a PostScript file. Either type

    pdftops paper.pdf

    if you have poppler installed, or click the File/Print and select the Print to file option in acroread. Save it to paper.ps.
  4. Next find two (preferably consecutive) pages of the paper in which have normal text margins. For example don't choose a page which has a Chapter start, and hence a very large top margin. Or don't choose a page with the end of a chapter, and only half a page of text (thus a huge bottom margin). In this example pages 2 and 3 work nicely.
  5. To create a 2up'ed booklet, type

    mkbooklet.pl -h11in -w8.5in -g2,3 paper.pdf book.ps

    The numbers passed to the -w and -h options are the width and height of the source paper (which we used acroread to find). The argument to the -g options tells the script to find page margins from pages 2 and 3 of the source document.
  6. That's it. If for some perverted reason you want to convert the 2up'ed booklet to a PDF file, then use ps2pdf.

Once you get the hang of it, you can read the complete documentation that comes with both the above scripts. For brief help, use

mkbooklet.pl --help
pscenter.pl --help

For a more complete help, use perldoc to get help:

perldoc mkbooklet.pl
perldoc pscenter.pl

Suggestions / bugs might be ignored. However suggestions with patches will be welcomed.

Questions? Comments? Send me hate mail? . Public Key DB04C471

Firefox Vim Logo LaTeX Logo Linux Logo
Stanford University University of Chicago St. Xaviers College Rishi Valley School

Your spoon does not bend because it is just that, a spoon. Mine bends because there is no spoon, just my mind.

Last Modified: Mon 16 Nov 2009 01:45:27 PM EST