0

有谁知道我将如何将闪亮的数据表(DT::renderDataTable)输出保存为.png?即,我想创建一个按钮,类似于这个按钮

例如,任何人都可以定义一个按钮来将此表保存为 png:

---
output: html_document
runtime: shiny
---

```{r setup, echo=FALSE}
library(DT)

    DT::renderDataTable({
      datatable(iris) %>% formatStyle(
        'Sepal.Width',
        backgroundColor = styleInterval(3.4, c('gray', 'yellow'))
      )
    })

```
4

1 回答 1

1

您的主要任务是如何将表格转换为 PDF 格式。 这里有 两个关于如何做到这一点的答案的SO 问题。

假设您使用这些参考问题来解决该部分(这与闪亮无关)。我将进行下一步的方法是首先返回您从生成 PDF 的函数创建的 PDF 的路径

createPDF <- function(df) {
  # create a pdf
  return(pdf_file)
}

然后在 Shiny 中,您将使用 adownloadHandler并且您只需将该 PDF 复制到您提供给downloadHandler. 像这样的东西:

### in UI
downloadButton('downloadPdf', 'Download table')

### in server
output$downloadPdf <- downloadHandler(
    filename = function() {
      "table.pdf"
    },
    content = function(file) {
      file <- createPDF(df)
      file.copy(file, "table.pdf")  # or something like this
    }
)

我没有尝试过,但这就是我会尝试的

于 2016-02-11T11:14:17.137 回答