首先,我在Windows 10上使用R 3.6.0和Rstudio 1.2。
我正在使用flextable和Officer创建一个Word文档。在此表中插入一些图像。为此,我正在使用flextable。当我将此代码与R脚本和工作人员一起使用时。但是,当我在Rmarkdown中使用此代码生成Word文档时,此操作将无效。 Rmardown下的代码:
library(flextable)
library(officer)
img.file <- file.path( R.home("doc"), "html", "logo.jpg" )
myft <- flextable( head(iris))
myft <- compose( myft, i = 1:3, j = 1,
value = as_paragraph(
as_image(src = img.file, width = .20, height = .15),
" blah blah ",
as_chunk(Sepal.Length, props = fp_text(color = "red"))
),
part = "body")
myft
我有一则消息告诉我:“对不起,我们无法打开文档,因为我们发现其内容有问题。
我认为flextable中的图像有问题。当我删除这些图片时,就可以了。
答案 0 :(得分:0)
是的,rmarkdown::word_document
不支持在flextable中插入图像。
您将需要包officedown
才能使用R Markdown for Word将图片嵌入可伸缩表格中。您只需将output: rmarkdown::word_document
替换为
output: officedown::rdocx_document
。
---
date: "`r Sys.Date()`"
author: "Your Name"
title: "Untitled"
output:
officedown::rdocx_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, fig.cap = TRUE)
library(officedown)
```
```{r}
library(flextable)
library(officer)
img.file <- file.path( R.home("doc"), "html", "logo.jpg" )
myft <- flextable( head(iris))
myft <- compose( myft, i = 1:3, j = 1,
value = as_paragraph(
as_image(src = img.file, width = .20, height = .15),
" blah blah ",
as_chunk(Sepal.Length, props = fp_text(color = "red"))
),
part = "body")
autofit(myft)
```
要安装该软件包,请运行以下命令(尚未在CRAN上运行):remotes::install_github("davidgohel/officedown")