[Rd] minor oddity in pdf() help page

Hin-Tak Leung hin-tak.leung at cimr.cam.ac.uk
Thu Mar 2 14:51:08 CET 2006


Roger D. Peng wrote:
> The following paragraph from ?pdf struck me as a bit odd:
> 
>       'pdf' writes uncompressed PDF.  It is primarily intended for
>       producing PDF graphics for inclusion in other documents, and
>       PDF-includers such as 'pdftex' are usually able to handle
>       compression.
> 
> Should that be "...and PDF-includers such as 'pdftex' are usually _un_able to 
> handle compression" ?

Hmm, I think the documentation is correct but incomplete - pdftex *can*
handle compression, but compression is not implemented in R's pdf
output device. So it should say:

"... PDF-includers such as 'pdftex' are usually able to handle
compression, but R's pdf device does not utilise that feature of pdf."

(I have checked a pdf generated by R, and it doesn't compress, and I was 
using pdflatex this morning to include a compressed pdf, so both
parts are correct).

There is a caveat: the PDF specs (and the postscript language standard)
actually defines a few stream compression schemes - LZW and deflate
are two I know of from the top of my head, I think there are more.
But LZW used to be tangled up with the Unisys patent until recently
when the patent expired, so most open-source softwares won't do
it. deflate is implemented in zlib and ghostscript-written pdf
usually have stream compression on. i.e. For some purposes such
as getting smaller pdf's, it may be better to output from R
postscript and use ghostscript to do ps2pdf rather than doing
it directly from R, and to be pedantic, pdftex can only handle
deflate encoded compression, AFAIK, for the reason I outlined above,
but it is sufficient for most purposes, since most tools cannot
generate LZW-compressed pdf's.

HTL



More information about the R-devel mailing list