@davidgohel
Lorsque je tricote un fichier Rmd avec officedown::rpptx_document
, la fonction produit un fichier pptx non ouvrant avec le message d'erreur suivant :
PowerPoint found a problem with content in xxxx.pptx.
PowerPoint can attempt to repair the presentation.
J'ai confirmé que le contenu du Rmd est tricotable avec, par exemple, bookdown::powerpoint_presentation2
. Par conséquent, je soupçonne que certains bogues pourraient résider dans officedown::rpptx_document
.
---
title: "Untitled"
author: "CLRR"
date: "2020/6/20"
output:
officedown::rpptx_document:
keep_md: TRUE
bookdown::powerpoint_presentation2:
keep_md: TRUE
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
## R Markdown
This is an R Markdown presentation. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.
When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document.
## Slide with Bullets
- Bullet 1
- Bullet 2
- Bullet 3
## Slide with R Output
```{r cars, echo = TRUE}
summary(cars)
```
## Slide with Plot
```{r pressure}
plot(pressure)
```
rmarkdown::pandoc_version()
[1] ‘2.9.2.1’
R version 4.0.0 (2020-04-24)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18362)
Matrix products: default
locale:
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Japan.932 LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C LC_TIME=Japanese_Japan. 932
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
Rcpp_1.0.4.6
packrat_0.5.0
digest_0.6.25
R6_2.4.1
magrittr_1.5
officedown_0.1.0
evaluate_0.14
zip_2.0.4
gdtools_0.2.2
rlang_0.4.6
uuid_0.1-4
xml2_1.3.2
rmarkdown_2.2
tools_4.0.0
officer_0.3.11
xfun_0.14
yaml_2.2.1
compiler_4.0.0
systemfonts_0.2.3 r
vg_0.2.4
memoise_1.1.0
htmltools_0.4.0
knitr_1.28
Merci de l'avoir signalé.
Il semble que cela ne se produise qu'avec R pour Windows. Je ne sais pas encore où est le problème.
D'abord:
Merci pour le package génial - vraiment génial! Un plaisir de travailler avec/de l'utiliser - surtout en relation avec flextable.
De mon point de vue, le problème sur Windows peut être causé par la valeur de reference_doc.
Bien que l'utilisation du modèle pptx dans l'officier ne semble pas fonctionner sous Windows (voir ci-dessous), le code fonctionne en utilisant le modèle de référence pandoc :
---
title: "Untitled"
author: "CLRR"
date: "2020/6/20"
output:
officedown::rpptx_document:
# not working:
# reference_doc: C:/R/lib/officer/template/template.pptx
# set reference_doc to standard pandoc layout:
# system2(rmarkdown::pandoc_exec(), args = c("--print-default-data-file", "reference.pptx"), stdout = "C:/R/pandoc_layout.pptx")
reference_doc: C:/R/pandoc_layout.pptx
keep_md: TRUE
---
## R Markdown
Test
Le choix du modèle - en utilisant le modèle interne de l'officier au lieu du document de référence pandocs - peut être déclenché dans la fonction officedown :::get_default_pandoc_data_file
voir Activer l'utilisation de Pandoc-pptx-reference doc .
@mtkerbeR
La commande suivante sur la console R que vous avez suggérée ne fonctionne pas :
> system2(rmarkdown::pandoc_exec(), args = c("--print-default-data-file", "reference.pptx"), stdout = "C:/R/pandoc_layout.pptx")
pandoc.exe: <stdout>: hPutBuf: invalid argument (Bad file descriptor)
Où pandoc_layout.pptx doit-il sortir naturellement ? Ou devrais-je plutôt créer un fichier pptx moi-même ? Je n'ai pas de répertoire R
sous mon répertoire C
, c'est-à-dire qu'il n'y a pas C:/R/
. J'ai C:\Program Files\R
, C:\Program Files\RStudio
, C:\Users\my-user-name\AppData\Local\RStudio
, C:\Users\my-user-name\AppData\Local\RStudio
.
@davidgohel et @mtkerbeR
Maintenant j'ai réussi à obtenir un fichier pptx !
(1) J'ai créé pandoc_layout.pptx dans un certain répertoire ( C:/Users/my-user-name/Documents/R
à ce moment) et
(2) a exécuté le code suivant comme suggéré par @mtkerbeR :
system2(rmarkdown::pandoc_exec(), args = c("--print-default-data-file", "reference.pptx"), stdout = "C:/Users/my-user-name/Documents/R/pandoc_layout.pptx")
(3) puis j'ai tricoté un fichier Rmd avec l'option reference_doc: C:/Users/my-user-name/Documents/R/pandoc_layout.pptx
en YAML.
Merci
Ceci est maintenant corrigé dans la version github.
Il y avait deux problèmes, un avec les fenêtres manquantes .exe
et un autre à propos du fichier temporaire utilisé comme reference_doc
. Merci à @mtkerbeR pour l'aide
J'ai confirmé que le officedown::rpptx_document
de la version github produit un fichier ouvrable. C'est génial !! J'apprécie @davidgohel pour la correction du bug et @mtkerbeR pour ses contributions utiles !