compactPDF(paths,
qpdf = Sys.which(Sys.getenv("R_QPDF", "qpdf")),
gs_cmd = Sys.getenv("R_GSCMD", ""),
gs_quality = Sys.getenv("GS_QUALITY", "none"),
gs_extras = character())## S3 method for class 'compactPDF':
format(x, ratio = 0.9, diff = 1e4, ...)
""
(the
default), the function will try to find a platform-specific path to
GhostScript where required."none"
(so GhostScript is not used),
"printer"
(300dpi), "ebook"
(150dpi) and
"screen"
(72dpi). Can be abbreviated."compactPDF"
.ratio
and by
diff
bytes.c("compactPDF", "data.frame")
.
This has two columns, the old and new sizes in bytes for the files
that were changed. There are format
and print
methods: the latter passes
...
to the format method, so will accept ratio
and
diff
arguments.
gs_cmd
is non-empty and gs_quality != "none"
, GhostScript will used
first, then gs_quality !=
"none"
and gs_cmd
is ""
, an attempt will be made to find a
GhostScript executable.
The strategy of our use of "ebook"
is perfectly
adequate for screen viewing and printing on laser printers.
Where PDF files are changed they will become PDF version 1.5 files: these have been supported by Acrobat Reader since version 6 in 2003, so this is very unlikely to cause difficulties.
Stream compression is what most often has large gains. Most PDF
documents are generated with object compression, but this does not
seem to be the default for MiKTeX's
Where both GhostScript and gs_quality != "none"
and both executables are found), they are
run in that order and the size reductions apply to the total
compression achieved.
resaveRdaFiles
. Many other (and sometimes more effective) tools to compact PDF files
are available, including Adobe Acrobat (not Reader).
See the