Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

How can I print the current page in R shiny web applications? It is possible in HTML by using the command of window.print();. But I could not find and implement its correspondent R Shiny command. What is on my mind is something like the following? How can I call an html command in SERVER?

actionButton("print", "PRINT")

server <- function(input, output) {

        observeEvent(input$print, {
          window.print();
        })
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
971 views
Welcome To Ask or Share your Answers For Others

1 Answer

This can be done using shinyjs package to call a js function.

library(shiny)
library(shinyjs)

jsCode <- 'shinyjs.winprint = function(){
window.print();
}'

ui <- shinyUI(fluidPage(
  useShinyjs(),
  extendShinyjs(text = jsCode, functions = c("winprint")),
  actionButton("print", "PRINT")
  ))



server <- shinyServer(function(input, output) {
  
  observeEvent(input$print, {
    js$winprint()
   })
})


shinyApp(ui, server)

Hope it helps!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...