我只是好奇是否可以使用 RMarkdown 生成 pdf 格式的 RTable (FlexTable)?我可以在 html 输出中生成它,但它不适用于 pdf 输出。我用谷歌搜索了这个问题,但没有确切的答案。
My code:
```{r, echo=FALSE, results='asis'}
library(ReporteRsjars)
library(ReporteRs)
library(rtable)
library(dplyr)
vanilla.table(iris)
```
既然可以生成word,我想pdf也可以。
我努力了cat(as.html(vanilla.table(iris)))
但它不起作用。
我可以友好地问你是否对此有任何想法吗?
这并不是一个答案,而只是指出解决这个问题的可能方向。一般来说,R Markdown 文档的 R 代码块中的 HTML 输出不适用于 PDF 输出,因为 HTML 和 LaTeX 完全不同。但是,有一种间接的方法可以实现这一点,即截取 HTML 输出的屏幕截图并插入图像。该方法用于knitr当输出格式不是 HTML 时处理 HTML 小部件。您可以在以下位置找到技术细节:https://github.com/yihui/knitr/blob/master/R/plot.R(参见html_screenshot()
功能)。
基本思想是将 HTML 输出保存为*.html
文件,使用截图webshot打包(需要 PhantomJS),并将图像返回到knitr。将这个想法推广到任何 HTML 输出应该不会太困难,但我还没有仔细考虑过。但这并不意味着您不能自己实现它。下面是我在脑海中输入的草图,当然还有很多细节需要改进:
insert_screenshot = function(x) {
if (!inherits(x, c('html', 'shiny.tag'))) return()
htmltools::save_html(x, 'temp.html')
res = webshot::webshot('temp.html', 'my-screenshot.png')
knitr::include_graphics(res)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)