flextable
flextable copied to clipboard
docx files rendered with Quarto are broken when images are included (e.g. using as_image, or colformat_image)
docx files rendered with Quarto fail to open if table cells include images, for example using the as_image
or colformat_image
functions. For example, if we include the example provided by ?as_image
in a Quarto document, the result is broken. A minimal file is:
---
format: docx
---
```{r}
library(flextable)
img.file <- file.path(
R.home("doc"),
"html", "logo.jpg"
)
if (require("magick")) {
myft <- flextable(head(iris))
myft <- compose(
myft,
i = 1:3, j = 1,
value = as_paragraph(
as_image(src = img.file),
" ",
as_chunk(
Sepal.Length,
props = fp_text_default(color = "red")
)
),
part = "body"
)
ft <- autofit(myft)
ft
}
```
The typical error I get when opening the generated file is:
Interestingly, outputting to RTF works. This might prove a useful workaround in the short-term.
Edit: wait, not really--the tables in my RTF output are bitmap images.
Yes see https://davidgohel.github.io/flextable/reference/as_image.html#note
It works with officer, officedown with r markdown but not quarto
We can't do anything about that
Okay, thanks. Is there something that Posit need to do on their end, or is it just a dead end? I don't know anything about the implementation, but I'd naively thought Quarto was something like a superset wrt rmarkdown.
no I don't think so, flextable output raw HTML, raw latex, raw OOXML code. Quarto manage markdown.