【问题标题】:officedown not producing output: Error: read_docx only support docx filesofficedown 不产生输出:错误:read_docx 仅支持 docx 文件
【发布时间】:2020-11-02 23:00:13
【问题描述】:

我是officedown 的新手。我目前正在审查它,看看公司是否想在生产中使用它。 我在从他们的一个示例中生成输出时遇到问题:minimal_word.Rmd。 奇怪的是,我能够毫无问题地运行他们所有的其他示例(也在 github 中),所以这让我感到困惑,因为它们具有相似的设置和用途。我认为这可能是一个包丢失或其他原因,但我的猜测是,其他示例也会崩溃,但它们不会。

我试图找出代码的哪些部分导致我的问题尝试创建一个最小的示例以添加到此处:

---
title: "officedown example"
output:
  officedown::rdocx_document
---


```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, fig.cap = TRUE)
library(officedown)
```

## Table

```{r tab.cap="caption 1", tab.id="mtcars"}
#head(mtcars)                             ### produces error
#head(data.frame(x=1:10,y=LETTERS[1:10])) ### produces error
head(1:10)                                ### runs ok
```

原始代码有一些目录和一些单独编译的部分。问题从他们的表格部分开始。示例代码有 head(mtcars) 行:不起作用,然后我尝试首先通过使用简单的 data.frame: 不起作用来消除对汽车的依赖来简化它。当我简化为向量时,它会起作用并生成 word 文档(!?)。

我认为这对我来说应该是一件愚蠢的事情,但无法解决。

有什么帮助吗?

rmarkdown::渲染完整输出:

processing file: minimal_word2.Rmd
  |.........                                                             |  12%
  ordinary text without R code

  |..................                                                    |  25%
label: setup (with options) 
List of 1
 $ include: logi FALSE

  |..........................                                            |  38%
  ordinary text without R code

  |...................................                                   |  50%
label: unnamed-chunk-1 (with options) 
List of 2
 $ tab.cap: chr "caption 1"
 $ tab.id : chr "mtcars"

  |............................................                          |  62%
  ordinary text without R code

  |....................................................                  |  75%
label: unnamed-chunk-2 (with options) 
List of 1
 $ fig.cap: chr "figure caption"


Quitting from lines 23-24 (minimal_word2.Rmd) 
Error: read_docx only support docx files

和 sessionInfo():

R version 3.6.3 (2020-02-29)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)

Matrix products: default

locale:
[1] LC_COLLATE=Spanish_Mexico.1252  LC_CTYPE=Spanish_Mexico.1252    LC_MONETARY=Spanish_Mexico.1252
[4] LC_NUMERIC=C                    LC_TIME=Spanish_Mexico.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] officer_0.3.12   officedown_0.2.0

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.4.6      digest_0.6.25     R6_2.4.1          magrittr_1.5      evaluate_0.14    
 [6] zip_2.0.4         gdtools_0.2.2     rlang_0.4.6       uuid_0.1-4        xml2_1.3.2       
[11] rmarkdown_2.3     tools_3.6.3       xfun_0.15         yaml_2.2.1        compiler_3.6.3   
[16] systemfonts_0.2.3 rvg_0.2.5         memoise_1.1.0     htmltools_0.5.0   knitr_1.29 

【问题讨论】:

  • 您能澄清一下“不起作用”的含义吗?您是否收到错误消息,如果是,它是什么?您的 Word 文档被 Word 称为“损坏”?你也可以添加你的 sessionInfo()
  • 对不起,应该明确添加它,而不仅仅是标题。我在 Rmarkdown 选项卡中遇到错误:“错误:read_docx 仅支持 docx 文件”
  • 您能否使用rmarkdown::render 以便我们可以读取整个跟踪并提供sessionInfo() 的结果?
  • 是的,谢谢,我已经在(编辑的)问题中添加了这些
  • 谢谢!您的工作目录中是否有任何口音(例如法语有时有 é、à、ç 等)?这可能是一个原因(这在开发版的官员中解决了,但在 cran Yett 上没有解决)。抱歉所有问题,很难重现。

标签: r officer


【解决方案1】:

我遇到了可能是同样的事情。
我是从 flextable 开始的,它是由同一个开发人员开发的,并且消耗了官员。

最后……

  • 是包不允许文件路径有空格

这是我经过长期努力后的最终结果...
https://stackoverflow.com/a/63652181/1518460

如果您仍在解决此问题,请尝试确保所有路径都没有空格,
从任何 reference_docx 开始(我的问题)
以及任何输出路径(可能是项目文件夹或工作文件夹或显式输出路径)。

如果您有时间尝试,请告诉我它是否有效!
(我们都会追逐开发者:-)。 . .我确定他们想修复它)

【讨论】:

  • 感谢您的回答。我检查了,但除了一些有空格的 windows 文件夹外,一切都很好,没有空格或奇怪的字符....事实上,我不认为在我的情况下...同一个文件夹中的相同 Rmd 文件,呈现好的,如果我只尝试使用例如 head(1:10) 来渲染表格...但是当我尝试渲染时会中断,例如head(data.frame(x=1:10,y=LETTERS[1:10])) .... 这很令人费解... 无法真正理解尝试渲染数据帧或矢量的区别...
  • 两者都在编织期间?只是为了检查.....不是控制台与查看器的问题
猜你喜欢
  • 1970-01-01
  • 2012-06-15
  • 2016-02-01
  • 2016-10-20
  • 2015-11-21
  • 2017-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多