我们有一个shiny 的应用程序,我正在寻找一种方法来创建/下载屏幕截图(PNG,JPG)或导出/下载PDF. 最好的方法是如果这个文件只包含视觉效果(绿色),但如果只有一种方法可以做到这一点,我也会很高兴.
有什么简单的方法可以做到这一点吗?就像点击一个按钮,下载就开始了.
MWE
library(shiny)
library(shinydashboard)
library(data.table)
library(DT)
library(bslib)
################################################################################
################################ S E R V E R ###################################
################################################################################
server = shinyServer(function(input,output){
output$histogram = renderPlot(
hist(faithful$eruptions, breaks=input$days_plot)
)
output$histogram2 = renderPlot(
hist(faithful$eruptions, breaks=input$days_plot)
)
output$active_cases = DT::renderDataTable(
mtcars, selection = 'single', options=list(scrollX=TRUE))
})
################################################################################
#################################### U I #######################################
################################################################################
ui = shinyUI(
dashboardPage(
dashboardHeader(
title="just a test"
),
dashboardSidebar(
#h3("Downstream", style="text-align:center;
# color:white;
# background-color:red'"
# ),
sidebarMenu(id="tabs",
menuItem("Tab1", tabName="active_cases", icon = icon("magnifying-glass-location")),
menuItem("Tab2", tabName="archive", icon = icon("box-archive")),
menuItem("Configuration", sliderInput("days_plot", "Days into past", 1, 60, 30))
)
),
dashboardBody(
tabItems(
tabItem(tabName="active_cases", shiny::h2("Active Cases"),
fluidRow(
box(title="Table", status="primary", solidHeader=TRUE, div(DT::dataTableOutput("active_cases")))
),
fluidRow(
box(title="Visual1", status="primary", solidHeader=TRUE, plotOutput("histogram")),
box(title="Visual2", status="primary", solidHeader=TRUE, plotOutput("histogram2"))
)
),
tabItem(tabName="archive", shiny::h2("Archive"))
)
)
)
)
################################################################################
################################### R U N ######################################
################################################################################
shinyApp(ui, server)