Printing latex beamer pdf files

This is a technical post about printing pdf files produced using the LaTeX beamer document class.
When I have used LaTeX to produce a pdf presentation using
\documentclass{beamer}
I usually produce an associated handout using
\documentclass[handout]{beamer}
However, when I try to print several slides per page, I hit the problem that the “actual size” of the pages is rather small (at least by default). This is not a problem when printing one slide per page, as you can scale the pages. The size is probably also OK for four slides per (A4) page, but I have problems if I want to print two slides per page. At least on my PC, there is no option for scaling the slides to fit on half-pages when printing.
My current solution is to begin by printing the pdf file to a new pdf file, e.g. using PrimoPdf. By scaling the individual slides/pages at this point, the resulting pdf file can then be printed successfully at multiple slides per page.
However, if you get the settings wrong, the pages will end up rotated through 90 degrees! So here are the printer settings I use when printing to PDF using the PrimoPdf virtual printer in order to obtain the desired result.
In the Page handling options, I use
Fit to Printable Area
and
Autorotate and Center
(but NOT Choose Paper Source by PDF size).
Under the printer Properties, I use the orientation
Rotated Landscape
Joel 23/12/09

Note added 29/9/10

Those settings aren’t working for me today! So, instead, I am using the pgfpages solution given in the comments below.

Does anyone know a reliable way of obtaining unrotated landscape pages using primo pdf? I can rotate them back using Adobe Acrobat, for example, but that is a nuisance.

Advertisements

7 responses to “Printing latex beamer pdf files

  1. Of course, sometimes it is best to read the manual!
    If you look at the Beamer manual at http://www.ctan.org/tex-archive/macros/latex/contrib/beamer/doc/beameruserguide.pdf#28
    you will get a lot of info about printing transparencies and/or handouts.
    Specifically, on page 190 of that document, you will find a suggestion using the package pgfpages that produces exactly the two slides per A4 page I want.
    (I wonder just how general this pgfpages package is? Maybe it would fix the pdflatex seminar class problems too!)
    See also page 28 of the beamer manual, or search for “pgfpages” to see more examples and for more information on the pgfpages package.

    The specific results I want (two slides per page, on A4 portrait paper) come from using the lines:

    \usepackage{pgfpages}
    \pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]

    Again, if you want different options such as 4 slides per page on landscape A4 paper, or letter paper instead of A4, you should choose appropriate options as suggested in the Beamer manual.

    Like

  2. Note that the version of the manual I linked to above appears to have the wrong option if you want to obtain full-size A4 landscape pages.
    In that document, it suggests using
    \usepackage{pgfpages}
    \pgfpagesuselayout{resize}[a4paper,border shrink=5mm,landscape]
    But the layout “resize” is not defined here. The following works instead.
    \usepackage{pgfpages}
    \pgfpagesuselayout{resize to}[a4paper,border shrink=5mm,landscape]
    In other words, you should use “resize to” instead of “resize”.
    Joel

    Like

  3. I have two solutions to this problem depending on what exactly your plan is. Firstly you should indeed make sure to add [handout] to your documentclass options so that all overlays get “flattened” and only one copy of each slide will appear.

    Now the two options I would suggest are as follows:
    (i) If you merely want to make printed handouts to students then you can make a pdf with one slide per page and use another program to do the “multiple pages per sheet” (as Adobe Reader calls it). All versions of Adobe (though I hate to recommend it) and probably things like FoxIt Reader too provide the chance at time of printing to print “multiple pages per sheet” they even add borders around the pages if you’re into that kind of thing too. They are pretty good at spacing between slides in general.

    (ii) The nicer, in the sense of more automatable, way and also preferable if you merely want to make a PDF available rather than printed material is to use one of the many “nup” packages. psnup is installed by default on most latex installations but is only helpful if you are going through latex->dvips->ps2pdf or pslatex->ps2pdf. If you’re using pdflatex then you need something called pdfnup which does exist but seems to have recently been subsumed by a package called “pdfjam”. The old command I used to use to take a pdf and put two slides on each page was:

    pdfnup −−paper a4paper −−nup 1×2 yourfile.pdf −−outfile YourFilePost2up.pdf

    Now I seem to have to use:

    pdfjam −−nup ‘1×2’ yourfile.pdf −−outfile YourFilePost2up.pdf

    If you’re interested in doing more fancy things, like making mutliple sets of notes at once from the same base beamer TeX file then I can recommend the pages of a guy called Don Eisenstein
    http://faculty.chicagobooth.edu/donald.eisenstein/more/BeamerLecture.html which I have found useful for automating the production of multiple versions of notes (some 2-upped, some not, and even some with blanked proofs etc.. though it required some tweaking from that given)

    As a final comment on pgfpages, I would say that if you can get it to work (by reading the appropriate manuals) then that’s also a very good solution but probably a little more temperamental to subtle changes in interactions between latex packages as I do have a memory of pgfpages often appearing in log files due to it not being easy to update to the latest version.

    Like

    • The first solution doesn’t quite work for me as it stands. Perhaps you have some options in your latex which are producing proper A4 pages, rather than the very small default beamer size pages?
      Joel

      Like

    • Ah, yes. I had neglected to address directly the issue of the small default size of paper that beamer pdf output is made at (about A6 basically).

      The approach of using Adobe/Foxit to print multiple pages per page ONLY WORKS once you have a suitably sized PDF file which is nice and A4 to start with. In Linux one answer is to use pdfjam and just type

      pdfjam −−landscape yourfile.pdf −−outfile YourOutputFile.pdf

      which does some default scaling up to your default paper size (though there is a small white border left and right which could be annoying).

      But in Linux you might as go the whole hog and “multi-page” it at the same time. i.e. I’d recommend actually (getting and) using pdfjam with appropriate −−nup ‘1×2’ commands to go straight to a A4 pdf with your chosen “per page configuration” from the silly default undersized beamer slide output.

      In Windows it might not be so easy and resorting to making pgfpages work inside latex/beamer so that the first output is correct might be the only software independent route.

      On that front the solution you already proposed in your comments [on Sept 29th] using pgfpages and {resize to} looks like the recommended and best route.

      Like

  4. I have found some information about the PrimoPDF problem on the page
    http://www.snc.edu/techsupport/handouts//Images_+_PDFs/Creating_PDF_Files_with_PrimoPDF.pdf
    Now to see if those settings work!
    Joel

    Like

    • Yes, the instructions on that page in the section
      Converting landscape documents with PrimoPDF
      work fine!
      So at last I can print landscape documents to PDF using PrimoPDF.
      Joel

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s