Projects / PDFjam


PDFjam is a small collection of shell scripts that provide a simple interface to some of the functionality of the pdfpages package for pdfLaTeX. Facilities include n-up imposition, page rotation, reflection and trimming, selection of pages, and many more. PDFjam depends on a working installation of (pdf)LaTeX, complete with the pdfpages package. For Mac OS X, some example applications (droplets) are provided for drag-and-drop access.

Operating Systems

Recent releases

  •  14 Nov 2010 23:48

    Release Notes: This version merely fixes a bug in the specification of one of the tests. The shell scripts themselves are unaffected.

    •  13 Nov 2010 17:05

      Release Notes: The only change in this version is that two additional graphics file formats, JPEG and PNG, are now explicitly allowed as input.

      •  11 May 2010 13:49

        Release Notes: This release makes just one minor feature enhancement: in the "pdfbook" script, the option "--booklet true" is now the default.

        •  25 Apr 2010 16:56

          Release Notes: This version includes an enhancement of the "pdfbook" script to facilitate short-edge binding. The "--preamble" option of the "pdfjam" script is also enhanced, to concatenate multiple instances of that option in the call. Some minor errors in man pages are corrected.

          •  22 Apr 2010 08:22

            Release Notes: This version includes various small enhancements and bugfixes. The script now allows JPEG format files to be specified as input. It is not known how widely that might work, so this feature should be regarded as experimental.

            Recent comments

            01 Aug 2006 06:14 scls19fr

            Using > |

            I wonder why your script don't use the Unix tube (and /dev/stdout and >)

            It could be a good idea because each script could act as a filter.

            That's the case of psutils... so why not with PDFJam.

            Have a look at

            psselect -p1,1 | psnup -n 2 >

            it makes a file called that contain the first page of and which is reproduced 2 times on the same sheet of paper.

            Making a .ps booklet also use Unix tube

            psbook | psnup -2 -pa4 >

            Using tubes simplify such works.

            Maybe you should add a hack such as using --outfile=/dev/stdout


            01 Aug 2006 05:54 scls19fr

            Re: PDFReflect
            For using pdfreflect try
            ./pdfreflect pdfpages.pdf
            You will have a file called pdfpages-reflected.pdf

            The pdfpages script is also done. It allows us to give any optional parameters to \includepdf[...]{myfile.pdf}.

            Maybe some things need to be done (for example when there is no --do argument)... but I'm not kind at shell scripting...

            Try this :

            ./pdfpages --do pages=-,reflect pdfpages.pdf

            you will have a file called pdfpages-new.pdf

            It has the same effect as pdfreflect script... but you can do more things... using the pdfpages package doc at

            You can download the script at :

            Sorry for the man pages... I don't know how to make them...


            Sebastien CELLES

            01 Aug 2006 05:21 scls19fr


            I'm a Physic teacher and I sometimes use slides (a sheet of

            transparent paper with overhead projector)

            This kind of paper has generally two kind of side.

            - a rough side (for print)

            - a smooth side (for write with a pen)

            I you want to use it like that you need to print your slide with a

            miror (reflect) effect

            Therefore I use your pdf90 script and adapt it to become a pdfreflect


            I think that could be a good idea to add it in PDFJam.

            Of course it is released under the licence you want ;-) GNU GPL is a

            good think for me !!


            I will also consider making a pdfpages script that will be able to

            send other parameters [...] to the LaTeX \includepdf command

            so it will provide an easy way to support any option of the pdfpages


            Sorry for using comments but your mail adress seems not to be active...


            17 Mar 2006 20:23 paagol

            These scripts are really very nice-working and effective. I actually wanted to thank the developer that it is working so good on every type of pdfs in both Western and Indic fonts and all. But saw that site is not working. The only problem is that, the name of the project is pdfjam, and hence the installer should install a manual page on the very name 'pdfjam', even if it just has the names of the scripts to search like 'pdfnup', 'pdf90' and so on.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.