如何以编程方式将RMarkdown ioslides演示文稿转换为2-up PDF?

时间:2018-07-24 06:00:41

标签: pdf webkit rstudio r-markdown ioslides

我使用rmarkdown通过自定义css生成ioslides HTML演示文稿。这一点很棒,我喜欢它。我的问题是关于生成演示文稿的“注释”版本。

我从这些幻灯片中获得2张PDF A4注释的唯一方法是从Safari中打印出来,方法是依次单击打印...,横向,布局2页,边框=发际线,然后另存为。然后找到正确的文件夹等。但是,它正确地设置了格式和字体,Webkit呈现了Chrome或其他解决方案无法实现的功能。

这对于一本来说很好。但是我现在经常一次在9到30个单独的演示文稿之间进行更新,所有单击使我发疯,尤其是当我需要更新一个小问题,并且我想检查所有文件是否已重新生成为PDF时。

有什么解决方案可以快速以编程方式生成一组RMarkdown ioslides演示幻灯片的2-up PDF版本?另外,最好的解决方法是赞赏。

1 个答案:

答案 0 :(得分:2)

您可以使用webshot包捕获HTML图形的输出并将其保存到图形设备(PDF,PNG,PDF)。您可以here来了解它。

假设您有一个名为testPres.Rmd的文件存储在以下脚本的相同工作目录中,它将把报告转换为PDF:

# Setup
install.packages("webshot")
webshot::install_phantomjs()

library(webshot)
library(rmarkdown)

rmdshot("testPres.Rmd", "document.pdf")

已经创建了幻灯片的PDF,现在我们需要将它们转换为两页PDF。这样做可能是更优雅的方法,但是您可以使用非常基本的R Markdown文档。以下脚本将所有幻灯片加载到两页布局中:

---
output: pdf_document
header-includes:
  - \usepackage{pdfpages}
papersize: a4paper
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

\includepdf[pages={1-},scale=0.75, nup=1x2]{document.pdf}

enter image description here

我不确定这是否能完全满足您的确切要求,但希望足以使您朝正确的方向前进。

  

您可以查看pdfpages LaTeX页面的文档,以自定义幻灯片PDF在文档中的显示方式(添加边距,边框等)