感谢@Yihui,
我想通了这个问题。基本上,解决方案是通过webshot
函数和knitr::include_graphics
将该PNG文件插入到pdf输出中。
请尝试这段代码在你降价:
```{r TableJiena, out.width = "700px", out.length = "400px"}
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)
}
insert_screenshot(htmltools::HTML(as.html(vanilla.table(head(iris)))))
```
如果你想要得到的简化代码,请尝试这段代码在降价。
```{r TableJiena, out.width = "700px", out.length = "400px"}
webshot::webshot(htmltools::HTML(as.html(vanilla.table(head(iris)))), 'my-screenshot.png')
knitr::include_graphics('my-screenshot.png')
```
但有这种解决方案的一个小问题:PNG图片的解决方案是不是很高,我不知道为什么有每列之间流动。另外,有些单行是用双行打印的。
任何人都可以弄清楚如何解决这个小问题webshot
?
谢谢!
非常感谢你的代码!我一定会努力的!我认为“截图html”是解决这个问题的一个很好的方向。另外,如果这个问题可以通过这种方式解决,我们可以应用/扩展相同的方法来将交互式图输出为pdf问题。例如,如果我想保存'rpivotTable'(针对数据透视表的非常有用和灵活的r包之一)的结果,我可以截取html的截图并将图像返回给knitr!再次感谢你的帮助! – Joanna