微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试使用参数呈现html_paged rmarkdown文档时无法生成分页的pdf文档

如何解决尝试使用参数呈现html_paged rmarkdown文档时无法生成分页的pdf文档

我正在尝试创建一个参数化html_paged文档。 当我使用渲染功能渲染.Rmd文件时。它创建分页的html文档,但不创建分页的pdf文档。 但是当我使用编织按钮时。然后,它可以创建分页的html doc和pdf doc。

因为我要使其成为参数化报告,所以才选择渲染功能。有没有一种使用渲染功能生成分页pdf文档的方法。下面是可复制的示例:

---
title: "A Multi-page HTML Document"
author: "Yihui Xie and Romain Lesur"
date: "`r Sys.Date()`"
output:
  pagedown::html_paged:
    toc: true
    # change to true for a self-contained document,but it'll be a litte slower for Pandoc to render
    self_contained: false
# uncomment this line to produce HTML and PDF in RStudio:
knit: pagedown::chrome_print

params:
  test: 'html' 
---

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

# Introduction

This is an example of a multi-page HTML document. See https://pagedown.rbind.io for the full documentation. The rest of this document is random text.

# Random text

```{r,results='asis',echo = FALSE}
random_markdown = function(len = 100) {
  uri = knitr::image_uri(file.path(R.home('doc'),params$test,'logo.jpg'))
  text = function(len) {
    trimws(paste(sample(c(letters,rep(' ',10)),len,TRUE),collapse = ''))
  }
  id = function() paste(sample(letters,8,collapse = '')
  figure = function() {
    sprintf('![(#fig:%s)The R logo.](%s){width=%d%%}',id(),uri,sample(20:60,1))
  }
  tab = paste(knitr::kable(head(mtcars[,1:5])),collapse = '\n')
  table = function() {
    c(sprintf('Table: (#tab:%s)A table example.',id()),tab)
  }
  unlist(lapply(seq_len(len),function(i) {
    if (i %% 20 == 0) return(paste('#',text(sample(10:30,1))))
    if (i %% 10 == 0) return(paste('##',1))))
    type = sample(1:3,1,prob = c(.9,.03,.07))
    switch(type,text(sample(50:300,1)),figure(),table())
  }))
}
cat(random_markdown(),sep = '\n\n')
```

现在,如果我使用渲染功能对其进行渲染。

rmarkdown::render("reprex.Rmd",params=list(test="html"))

它将创建分页的html输出,但不会创建分页的pdf文档。
我正在使用最新的rmarkdown(2.3版)和pagedown(0.11版)软件包。

解决方法

我找到了解决方法here

根据建议,当前chrome_print不支持参数传递。 here已请求此功能。 现在,我必须按照如下所示的两步过程来创建参数化的分页pdf报告,看来工作正常。

output <- rmarkdown::render("reprex.Rmd",params=list(test="html"))
pagedown::chrome_print(output)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?