在Shiny

时间:2016-05-03 16:10:19

标签: r pdf export shiny

我创建了一个涉及简单侧边栏布局的Shiny应用程序。主面板包含四个图和一个表,这些图根据用户指定的某些参数创建和呈现。我正在尝试添加“下载按钮”,以便用户可以下载(和/或打印)主面板上显示的所有这些图表。到目前为止,我已经为ui.R

找到了这个
conditionalPanel(
    condition = "input.returnpdf == true",
    strong("PDF size (inches):"),
    sliderInput(inputId="w", label = "width:", min=3, max=20, value=8, width=100, ticks=F),
    sliderInput(inputId="h", label = "height:", min=3, max=20, value=6, width=100, ticks=F),
    br(),
    downloadLink('pdflink')
  )

,这适用于server.R

plotInput <- reactive({
if(input$returnpdf){
  pdf("plot.pdf", width=as.numeric(input$w), height=as.numeric(input$h))
  plot(rnorm(sample(100:1000,1)))
  dev.off()
}
plot(rnorm(sample(100:1000,1)))
})

output$myplot <- renderPlot({ plotInput() })
output$pdflink <- downloadHandler(
 filename <- "myplot.pdf",
 content <- function(file) {
   file.copy("plot.pdf", file)
 }
)

但这不太有用。如何修改此类代码,以便R获取整个当前主面板的“屏幕截图”并将其导出为PDF文件?

0 个答案:

没有答案