2.14 Exportar a otro formato: XaringanBuilder

xaringanBuilder es un paquete en construcción diseñado para exportar las presentaciones de xaringan en diferentes formatos. Para instalar la versión actual de xaringanBuilder desde GitHub:

# install.packages("remotes")
remotes::install_github("jhelvy/xaringanBuilder")

library(xaringanBuilder)

Debido a la estructura de esta herramienta, algunos formatos de salida dependen de formatos intermedios. Aquí está el mapa jeraquico que presentan en la sección de ayuda del paquete:

Rmd
 |
 |--> social (png)
 |
 |--> html
       |
       |--> pdf
             |
             |--> png
                   |
                   |--> gif
                   |
                   |--> mp4
                   |
                   |--> pptx

2.14.1 Input - Output

Todas las funciones de la forma build_*() usan los argumentos input y output_file.

El argumento input es obligatorio y corresponde a la ruta del archivo que queremos exportar a otro formato.

El argumento output_file es opcional. Si lo utilizamos corresponde a la ruta o nombre del documento que queremos asignarle al archivo de salida y debe terminar con la correspondiente extensión, es decir, si estamos usando, por ejemplo, build_gif() entonces debemos asignar un nombre que termine en .gif, como, slides.gif. Si no hacemos uso de este argumento entonces el nombre del archivo exportado será determinado por el mismo nombre del archivo de entrada (argumento input) pero con la correspondiente extensión.

2.14.2 build_html()

Exportar de .rmd a formato .html :

build_html("slides.Rmd")

2.14.3 build_pdf()

El archivo de entrada puede ser un .rmd, .html o una url:

build_pdf("slides.Rmd")
build_pdf("slides.html")
build_pdf("https://jhelvy.github.io/xaringanBuilder/reference/figures/slides.html")

Nota: Para exportar a pdf es necesario realizar una intalación local de Google Chrome que se explica más adelante.

2.14.4 build_gif()

El archivo de entrada puede ser un .rmd, .html, .pdf o una url:

build_gif("slides.Rmd")
build_gif("slides.html")
build_gif("slides.pdf")
build_gif("https://jhelvy.github.io/xaringanBuilder/reference/figures/slides.html")

2.14.5 build_mp4()

El archivo de entrada puede ser un .rmd, .html, .pdf o una url:

build_mp4("slides.Rmd")
build_mp4("slides.html")
build_mp4("slides.pdf")
build_mp4("https://jhelvy.github.io/xaringanBuilder/reference/figures/slides.html")

2.14.6 build_pptx()

Crea un archivo .pptx donde cada diapositiva contiene una imagen png de cada diapositiva xaringan. Si bien no podrá editar el contenido xaringan desde Powerpoint, al menos puede realizar anotaciones y agregar comentarios.

Puede ver el siguiente capitulo donde presentamos el paquete slidex para realizar el proceso contario, es decir, pasar de .pptx a xaringan.

El archivo de entrada puede ser un .rmd, .html, .pdf o una url:

build_pptx("slides.Rmd")
build_pptx("slides.html")
build_pptx("slides.pdf")
build_pptx("https://jhelvy.github.io/xaringanBuilder/reference/figures/slides.html")

2.14.7 build_png()

Crea imágenes png de algunas o todas las diapositivas. Utilice el argumento de slides para determinar qué diapositivas incluir (el valor predeterminado es “1” y devuelve solo la primera diapositiva).

El archivo de entrada puede ser un .rmd, .html, .pdf o una url:

# By default, creates a png of only the first slide:
build_png("slides.Rmd")
build_png("slides.html")
build_png("slides.pdf")
build_png("https://jhelvy.github.io/xaringanBuilder/reference/figures/slides.html")
# Build zip file of multiple or all slides
build_png("slides.pdf", slides = c(1, 3, 5))
build_png("slides.pdf", slides = "all")

2.14.8 build_social()

Crea una imagen png de la primera diapositiva a partir de un archivo Rmd. El tamaño de la imagen es especial para compartirla en las redes sociales (por ejemplo, Twitter).

build_social("slides.Rmd")

Nota: Esta opción requiere de los paquetes chromote pdftools.

2.14.9 Varios formatos al tiempo

Use build_all () para exportar a todos los tipos de salida desde un archivo Rmd:

build_all("slides.Rmd")

Utilice los argumentos include o exclude para definir qué formatos de salida incluir o excluir:

build_all("slides.Rmd", include = c("html", "pdf", "gif"))
build_all("slides.Rmd", exclude = c("social", "png", "mp4", "pptx"))

2.14.10 Diapositivas “complejas”

La sección de ayuda del paquete describe las diapositivas “complejas” como aquellas que incluyen cierto tipo de widgets html o cualquier otra caracteristica avanzada que podría no renderizar bien en formatos estaticos como pdf. Para renderizarlos en cada diapositiva, establezca complex_slides = TRUE.

Si desea crear una nueva diapositiva para cada incremento en diapositivas incrementales, establezca partial_slides = TRUE.

Estas opciones están disponibles como opciones en cualquiera de las funciones que dependen del formato pdf:

  • build_pdf()
  • build_png()
  • build_gif()
  • build_mp4()
  • build_pptx()
  • build_all()

Nota: Estas opciones requieren de los paquetes chromote pdftools.

2.14.11 Instalación local de Chrome

La creación del PDF requiere una instalación local de Chrome. Si no tiene Chrome instalado, puede usar otros navegadores basados en Chromium, como el propio Chromium, Edge, Vivaldi, Brave u Opera. En este caso, deberá establecer la ruta al navegador que desea usar para el paquete pagedown, así como para el paquete chromote si implementa los argumentos complex_slides = TRUE o partial_slides = TRUE.

install.packages("pagedown")

remotes::install_github("rstudio/chromote")

Después de instalar los paquetes, puede establecer las rutas al navegador de esta manera:

Sys.setenv(PAGEDOWN_CHROME = "/path/to/browser")
Sys.setenv(CHROMOTE_CHROME = "/path/to/browser")

Si no puede instalar Chrome, el método de trabajo recomendado es crear formatos de salida intermedios y utilizar un método alternativo para crear el PDF.