Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

How can I tell the lpr command (cups) that my file is actually a pdf?

lpr file.pdf

won't print anything.

share|improve this question
Can you post any error messages from cups? Printing a file with lpr should create a print job. You can check the status of that (including error messages) in cups' web interface. –  Wieland Dec 24 '11 at 20:52
This should work automatically. What is your printer and printer driver? Go and look at localhost:631 as Wieland suggests. There are also logs at /var/log/cups. See for example if there are errors in error_log. –  Faheem Mitha Dec 24 '11 at 22:49

1 Answer 1

There are at least two ways to convert and print a PDF file .

The first way is to view the file in xpdf (the PDF file viewer), and then left-click the printer icon. This won't actually send the file to the printer, but it writes a PostScript file in the same directory, with the same base file name as the PDF file but with a .ps extension. You can then print this file with lpr or convert it to another format.

The second way is to use pdf2ps, part of the gs package, to convert the PDF file to PostScript (then print the PostScript output as described for xpdf above). pdf2ps takes two arguments: the name of the PDF file to convert, and the name of the PostScript file to write to.

To convert the PDF file `pricelist.pdf', type:

$ pdf2ps pricelist.pdf pricelist.ps 

This command writes a PostScript file pricelist.ps in the current directory.

share|improve this answer
lpr is actually able to print pdf files without converting them to postscript first. –  Wieland Dec 25 '11 at 0:09
@WielandH.: Or if it converts them to postscript, it does so implicitly and silently. –  Keith Thompson Dec 25 '11 at 0:13

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.