compactPDF {tools} | R Documentation |
Re-save PDF files (especially vignettes) more compactly.
Support function for R CMD build --compact-vignettes
.
compactPDF(paths, qpdf = Sys.getenv("R_QPDF", "qpdf"), gs_cmd = Sys.getenv("R_GSCMD", ""), gs_quality = c("printer", "ebook", "screen"), gs_extras = character())
paths |
A character vector of paths to PDF files, or a length-one character vector naming a directory, when all ‘.pdf’ files in that directory will be used. |
qpdf |
Character string giving the path to the |
gs_cmd |
Character string giving the path to the GhostScript executable, if that is to be used. On Windows this is the path to ‘gswin32c.exe’ or ‘gswin64c.exe’. |
gs_quality |
A character string indicating the quality required: the options are respectively 300, 150 and 72dpi. |
gs_extras |
An optional character vector of further options to be passed to GhostScript. |
This by default makes use of qpdf
, available from
http://qpdf.sourceforge.net/ (including as a Windows binary) and
included with the CRAN Mac OS X distribution of R. If gs_cmd
is non-empty, GhostScript will used instead.
qpdf
or gs_cmd
is run on all PDF files found, and
those which are reduced in size by at least 10% and 10Kb are
replaced.
The strategy of our use of qpdf
is to (losslessly) compress
PDF streams and objects. Ghostscript does that and more (including
downsampling images) and consequently is much slower and may lose
quality (but can also produce much smaller PDF files).
Where PDF files are changed they will become PDF version 1.5 files: these were first supported by Acrobat Reader 6 in 2003, so this is very unlikely to cause difficulties.
An object of class c("compactPDF", "data.frame")
with a
format
and print
method. This has two columns, the old
and new sizes in bytes for the files that were changed.
The external tools used may change in future releases.
Many other (and sometimes more effective) tools to compact PDF files are available, including Adobe Acrobat (not Reader). See the ‘Writing R Extensions’ manual.