Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'd like to print a PDF presentation in the following layout:

laouyt

Is there any tool to achieve this layout? Unfortunately, the presentation is only available as PDF (i.e. there is no PowerPoint, OpenOffice or TeX file)

share|improve this question

3 Answers 3

up vote 0 down vote accepted

It could be done using the PDFtk CLI tool (included in the Ubuntu repository) and either directly in the standard PDF reader Evince, or using PDFjam, which requires a LaTeX installation, though. In Debian Sid, PDFjam is currently contained in the texlive-extra-utils package.

The idea is similar in both cases. With only PDFtk and Evince:

  1. Create lines.pdf which is a (landscape) PDF that consists of line guides for writing.
  2. Burst the handout into single pages using pdftk.
  3. Create a new PDF where every odd page is a sequential page from the handout, and every even page is an instance of lines.pdf.
  4. Open the PDF in Evince and choose to print several pages per sheet (6, in landscape mode).

Here is a quick attempt that I could get to work like this. Note that it assumes that the input file is in landscape mode, as is usually the case for presentations. My lines.pdf was created with Inkscape in seconds (A4, landscape, create a textbox that fills the entire canvas, size 100, fill with underscores).

Save the script as e.g. handout.sh, make it executable and call it with a PDF file as only argument.

#!/bin/sh
usage() {
    cat <<-USAGE 1>&2
    usage: ${0##*/} [FILE]
    USAGE
    exit 1
}

[ $# -ne 1 ] && usage

if ! TMPDIR=$(mktemp -d); then
    printf 'error: could not create tempdir, aborting.\n' 1>&2
    exit 2
fi
# Clean everything up after closing Evince, or if the script is aborted.
trap 'rm -rf "$TMPDIR"' EXIT

LINES="$HOME/anteckningar/su-handout/lines.pdf"

HANDOUT="$TMPDIR/handout.pdf"

pdftk "$1" burst output "$TMPDIR/p%04d.pdf"

# Create PDF argument list with lines spliced in at every even position.
for p in $TMPDIR/*.pdf; do
    pdfs="$pdfs $p $LINES"
done

pdftk $pdfs cat output "$HANDOUT"
# Open Evince and print the file using wanted settings.
evince "$HANDOUT"

Using PDFjam, the solution is even simpler for the user. We still need lines.pdf as above, and we can modify the script to:

#!/bin/sh
usage() {
    cat <<-USAGE 1>&2
    usage: ${0##*/} [FILE]
    USAGE
    exit 1
}

[ $# -ne 1 ] && usage

if ! TMPDIR=$(mktemp -d); then
    printf 'error: could not create tempdir, aborting.\n' 1>&2
    exit 2
fi
# Clean everything up after closing Evince, or if the script is aborted.
trap 'rm -rf "$TMPDIR"' EXIT

LINES="$HOME/anteckningar/su-handout/lines.pdf"

HANDOUT="$TMPDIR/handout.pdf"
HANDOUT_SIXUP="${HANDOUT%.pdf}-6up.pdf"

pdftk "$1" burst output "$TMPDIR/p%04d.pdf"

# Create PDF argument list with lines spliced in at every even position.
for p in $TMPDIR/*.pdf; do
    pdfs="$pdfs $p $LINES"
done

pdftk $pdfs cat output "$HANDOUT"
pdfjam-slides6up --frame false --outfile "$TMPDIR" "$HANDOUT"
evince "$HANDOUT_SIXUP"

This opens an Evince session where the PDF is already correctly formatted for direct printing. One could modify this to send the result directly to the printer, but I would rather get the preview in Evince in most cases.

share|improve this answer
    
Thank you! Your solution almost perfectly fits my needs. –  Ted Mar 13 at 7:21

LibreOffice will do this. Create your slides as a presentation, then print it using 'Document: Handouts' and 'Slides per page: 3' by setting up your Print dialog like this:

LibreOffice Impress print dialog

share|improve this answer
    
Thank you, unfortunately only the PDF file is available. Do you know any other solution? –  Ted Mar 12 at 9:02
    
Unfortunately not -- you can import your PDF into LibreOffice Draw, and copy-and-paste each page into Impress, but that's far from optimal for a large document. –  Flup Mar 12 at 9:05

You don't say how you are producing the presentation. All decent presentation tools will produce handouts. This is what you want.

Both Libre Office and Microsoft PowerPoint will do this.

In your case, you've now clarified that you have the slides ONLY in PDF format and you want to add space for notes.

The easy way is to use a decent PDF reader tool (not sure you can do this in the Adobe reader as I never use it). I use PDF-XChange Editor and I can print the example file with auto-rotate and auto-centre turned off, this gives the following layout:

enter image description here

So you get space below the slide to write in, not quite the same but very easy to achieve. You could probably play with it further to get closer to your example. You could also get a lined note area by using either a background image or background page template.

Going further than that would require you to extract each page from the PDF and re-composite, probably more work than really warranted.

share|improve this answer
    
Thank you, unfortunately only the PDF file is available. Do you know any other solution? –  Ted Mar 12 at 9:01
    
What layout is the presentation currently in? Let us know and we can give some more guidance. –  Julian Knight Mar 12 at 9:25
    
It is a PDF exported from some unknown software. A real life example is available here (I can't upload my original PDF as I'm not sure whether I'm allowed to publish it) –  Ted Mar 12 at 12:16

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.