Rmarkdown PDF中数据表屏幕截图中的空白区域

Mal*_*l_a 6 r r-markdown shiny dt

我正面临一个问题,就是可能会采用html小部件的屏幕截图进行进一步实施,例如pdf文档.datatable(DT包)的屏幕截图具有太高的高度,它在rmarkdown文档中显示为空白区域(很容易被位置看到fig.cap,即低于结尾datatable).我无法理解为什么会发生这种情况而且我想要删除它(下面没有空格datatable).请看下面的示例,test.Rmd其中充分显示了问题:

---
output:
  pdf_document:
    toc: yes
header-includes:
    - \usepackage{fancyhdr}
    - \usepackage[ngerman]{babel}
---
\addtolength{\headheight}{1.0cm} 
\pagestyle{fancyplain} 
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\chead{Test}
\lhead{\scriptsize\today}


```{r, fig.align='center', fig.pos='htb!', fig.width=12, fig.cap="The height of screenshot is too high!!",fig.height=3,echo=FALSE, cache=FALSE, warning = FALSE, message = FALSE, tidy=TRUE}
library(DT)
library(webshot)
datatable(mtcars[1:2,],rownames=FALSE, options = list(dom='t',ordering=F))
```
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 此外,我已经尝试了不同数量的显示行datatable,我已经注意到,如果datatable 有> 20行然后数字与标题很好地显示.
  • 然而,我在原始pdf文件中的表有例如2行(可以多一点 - >行数是被动的,因为这rmarkdown是一个属于的可下载报告shiny app),这就是为什么在示例中我只使用了来自mtcars数据集的两行.

AK8*_*K88 1

您可以尝试添加以下内容r chunk并查看是否有效:

screenshot.opts = list(delay = 1, cliprect = c(0, 0, 1000, 150)), dev='jpeg'
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述