0

当我打开由插入 tiff 图片文件的R包生成的 docx 文件officer时,Office 2016 向我抛出错误消息。

例子:

library(magrittr)
library(ggplot2)
library(officer)

img <- "test.tiff"
pic <- ggplot(mtcars, aes(mpg, disp)) + geom_point()
img %>% ggsave(pic, width = 6, height = 3)

read_docx() %>% 
    body_add_img(img, width = 6, height = 3) %>% 
    print(target = "test.docx")

然后打开时test.docx,我得到一个错误按摩

我们很抱歉。我们无法打开 test.docx,因为我们发现它的内容有问题。

细节

文件已损坏,无法打开。

在我按下“确定”按钮后,Word 会询问我是否要恢复文档的内容。选择“是”然后我得到一个包含正确图片的 Document1。

我尝试了 .jpg 和 .png 格式,它们都可以正常工作,所以现在可以解决这个问题。这是一个错误还是只是我犯了错误?无论哪种方式,真的很欢迎启发我,谢谢。

sessionInfo()

R version 3.4.3 (2017-11-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

Matrix products: default

locale:
[1] LC_COLLATE=Chinese (Simplified)_People's Republic of China.936 
[2] LC_CTYPE=Chinese (Simplified)_People's Republic of China.936   
[3] LC_MONETARY=Chinese (Simplified)_People's Republic of China.936
[4] LC_NUMERIC=C                                                   
[5] LC_TIME=Chinese (Simplified)_People's Republic of China.936    

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

other attached packages:
[1] officer_0.2.0 ggplot2_2.2.1 magrittr_1.5 

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.14      digest_0.6.13     R.methodsS3_1.7.1 R6_2.2.2          grid_3.4.3       
 [6] plyr_1.8.4        gtable_0.2.0      scales_0.5.0      zip_1.0.0         rlang_0.1.6      
[11] uuid_0.1-2        lazyeval_0.2.1    R.oo_1.21.0       R.utils_2.6.0     xml2_1.1.1       
[16] labeling_0.3      tools_3.4.3       munsell_0.4.3     yaml_2.1.16       compiler_3.4.3   
[21] base64enc_0.1-3   colorspace_1.3-2  htmltools_0.3.6   tibble_1.3.4
4

1 回答 1

0

如此处所写,仅测试了 png、jpg 和 emf。但是,对 tiff 的支持很容易集成,我将在今天晚些时候在 Github 上推送更新以处理该问题。

于 2018-01-10T09:34:54.450 回答