Officedown: `rpptx_document`は、開くことができないpptxファイルを生成します

作成日 2020年06月21日  ·  6コメント  ·  ソース: davidgohel/officedown

@davidgohel

officedown::rpptx_documentを使用してRmdファイルを編成すると、関数は次のエラーメッセージを含む開かないpptxファイルを生成します。

PowerPoint found a problem with content in xxxx.pptx.
PowerPoint can attempt to repair the presentation.

Rmdの内容は、たとえばbookdown::powerpoint_presentation2で編むことができることを確認しました。 したがって、いくつかのバグがofficedown::rpptx_documentにあるのではないかと思います。

MWE

---
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
bug

全てのコメント6件

それを報告してくれてありがとう。

R forWindowsでのみ発生するようです。 どこに問題があるのか​​はまだわかりません。

初めに:
素晴らしいパッケージをありがとう-本当に素晴らしい! 特にフレックステーブルに関連して、それを使って作業したり使用したりすることの喜び。

私の見解では、Windowsの問題は、reference_docの値が原因である可能性があります。
Officerでpptx-templateを使用することは、Windowsでは機能しないようですが(以下を参照)、コードは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


テンプレートの選択(pandocsリファレンスドキュメントの代わりにofficer-internalテンプレートを使用)は、関数officedown ::: get_default_pandoc_data_file内でトリガーされる可能性があります
Pandoc-pptx-referencedocの使用を有効にするを参照してください。

@mtkerbeR

提案したRコンソールの次のコマンドは機能しません。

> 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)

pandoc_layout.pptxはどこで本質的に終了する必要がありますか? または、代わりに自分でpptxファイルを作成する必要がありますか? C Rディレクトリがありません。つまり、 C:/R/がありません。 C:\Program Files\RC:\Program Files\RStudioC:\Users\my-user-name\AppData\Local\RStudioC:\Users\my-user-name\AppData\Local\RStudioがあります。

@davidgohel@mtkerbeR

これで、pptxファイルを取得することに成功しました。

(1)特定のディレクトリ(現時点ではC:/Users/my-user-name/Documents/R )にpandoc_layout.pptxを作成し、

(2) @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)次に、YAMLでオプションreference_doc: C:/Users/my-user-name/Documents/R/pandoc_layout.pptxを使用してRmdファイルを編成しました。

ありがとう

これはgithubバージョンで修正されました。

2つの問題がありました。1つはウィンドウに.exeがないこと、もう1つはreference_docとして使用される一時ファイルに関する問題です。 助けてくれた@mtkerbeRに感謝します

githubバージョンのofficedown::rpptx_documentが開くことができるファイルを生成することを確認しました。 これは素晴らしいです! バグ修正をしてくれた@davidgohelと、有益な貢献をしてくれた@mtkerbeRに感謝します。

このページは役に立ちましたか?
0 / 5 - 0 評価