to_pdf {doconv} | R Documentation |
Convert documents to pdf
Description
Convert documents to pdf with a script using 'Office' or 'Libre Office'.
If 'Microsoft Word' and 'Microsoft PowerPoint' are available, files 'docx', 'doc', 'rtf' and 'pptx' will be converted to PDF with 'Office' via a script.
If 'Microsoft Word' and 'Microsoft PowerPoint' are not available (on linux for example), 'Libre Office' will be used to convert documents. In that case the rendering can be different from the original document. It supports very well 'Microsoft PowerPoint' to PDF. 'Microsoft Word' can also be converted but some Word features are not supported, such as sections.
Usage
to_pdf(
input,
output = gsub("\\.[[:alnum:]]+$", ".pdf", input),
timeout = 120,
UserInstallation = NULL
)
Arguments
input , output |
file input and optional file output. If output file is not provided, the value will be the value of input file with extension 'pdf'. |
timeout |
timeout in seconds, ignored if 0. |
UserInstallation |
use this value to set a non-default user profile path for 'LibreOffice'. If not provided a temporary dir is created. It makes possibles to use more than a single session of 'LibreOffice'. |
Value
the name of the produced pdf (the same value as output
),
invisibly.
Ubuntu platforms
On some Ubuntu platforms, 'LibreOffice' require to add in
the environment variable LD_LIBRARY_PATH
the following path:
/usr/lib/libreoffice/program
(you should see the message
"libreglo.so cannot open shared object file" if it is the case). This
can be done with R
command Sys.setenv(LD_LIBRARY_PATH = "/usr/lib/libreoffice/program/")
Examples
library(locatexec)
if (exec_available("libreoffice") && check_libreoffice_export()) {
out_pptx <- tempfile(fileext = ".pdf")
file <- system.file(package = "doconv",
"doc-examples/example.pptx")
to_pdf(input = file, output = out_pptx)
out_docx <- tempfile(fileext = ".pdf")
file <- system.file(package = "doconv",
"doc-examples/example.docx")
to_pdf(input = file, output = out_docx)
}