感謝@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