NAME

printpsbook -- Smart 2-up PostScript printing

SYNOPSIS

printpsbook [-b [-s sig]] [-G ratio] [-S spec] [-cgklLmnptv] [-m margin] [files ...]

DESCRIPTION

The motivation for printpsbook came from saving my eyes while trying to be a little more environmentally friendly (just a little). Many journal papers use a small A5-like paper setting, and simple use of psnup results can result in tiny print and unused space. Printpsbook is a smart variant of psnup -2up: it magnifies pages by the perfect amount to remove maximize the visible text and minimize margin space.

printpsbook will either use the files provided on the command line (which must be PostScript) or content provided on stdin. Input must conform to Adobe Document Structure Conventions (DSC) (i.e. input must begin with %!PS-Adobe); non-conformant PostScript can be converted using Ghostscript's ps2ps(1).

Command line arguments are as follows:

-b print as a book (default: false)
-s set book signature (sig pages to a folio); only useful if -b default is to put all pages into one folio
-G magnify pages to use ratio percent of space (default: 0.95). This determines the amount of whitespace on margin.
-g compute PS2PS spec (default)
-S use provided PS2PS spec

The remaining command line arguments are not terribly useful.

printpsbook is available here

NOTE: This version of printpsbook does not work on Bourne shells (/bin/sh) that do not support POSIX-style $(()) math, such as Solaris. You could try changing the script to use bash instead.

EXAMPLES

This will do normal `psnup -2up' style printing:

$ cat file.ps | printpsbook | lpr -Pcc306

This will do booklet-style printing (using psbook):

$ cat file.ps | printpsbook -b | print -Pcc306

This will do booklet-style printing with the visible text taking up only 80% of the page (as opposed to 95%). This means there will be wider margins.

$ cat file.ps | printpsbook -b -G 0.8 | print -Pcc306

printpsbook works quite nicely as a filter in most programs, like Mozilla(1) or Xpdf(1). For PDF files, you could do something like the following:

$ pdftops <file.pdf> - | printpsbook -b | lpr -Pcc306

SEE ALSO

psnup(1), pstops(1), gs(1)

AUTHOR

Brian de Alwis (http://www.cs.ubc.ca/~bsd/)