Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to create a PDF cookbook. I'd love to include large, beautiful, full-color images of the food, but I want to give people the option to print the whole thing without wasting toner/ink on the photos. Is there a way to generate the PDF such that they have an option to print it without the images?

share|improve this question
up vote 2 down vote accepted

You could do the following:

  • create the PDF with 2 different layers ("optional content")
  • put the text on one layer
  • put the images on the second layer

Make it so that for viewing both layers are active by default, but for printing only the text layer is active. (One could still activate the printing of the image layer for printing, but it would require a few additional clicks).


...however, that this will only work with such PDF viewers which can correctly handle layers in PDF (such as Acrobat Reader). It will not work with some of the more simplistic PDF viewers on Linux, for example.

BTW, an application that can create such books and pages with different layers is Scribus (available for Linux, Unix, Windows as well as Mac OS X). It's very unlike WinWord or OpenOffice Writer, though -- Scribus is more a DTP application, not a word processor. So it will be some sort of learning curve for a newbie.

share|improve this answer

Here I would think that the less technological solution is the better one.

It shouldn't be too much effort to generate two PDFs instead of one and then let the visitor decide which to see.


There is an HTML tag that would do what you want it to do but then it would require to write the page in HTML or whatever your website can publish. Update: Only on IE.

Update 2: Arjan points out in the comments that there is now a CSS counterpart that is cross-platform: @media print { img{display: none;} }, or <link rel="stylesheet" href="css/print.css" media="print" />

share|improve this answer
In HTML, the CSS media type is cross-platform. Something like: @media print { img{display: none;} }, or <link rel="stylesheet" href="css/print.css" media="print" /> – Arjan Dec 19 '10 at 11:57

Your Answer


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.