6

我想知道是否可以将本地 pdf 文件链接到 Shiny 中的操作按钮。例如,我有一个手动按钮。用户单击“手动”操作按钮后,将打开一个 pdf 文件。

提前致谢。

4

1 回答 1

6

这是一个解决方案,在单击按钮后将在新的浏览器窗口中显示您的 pdf 文件。

  • 在与脚本www相同的目录中创建一个新文件夹ui.R
  • 把你的pdf文件,比如说,xyz.pdf放在www文件夹中
  • 添加一个新参数(HTML 属性)onclick并将actionButton其设置为"window.open('xyz.pdf')"

例子:

library(shiny)

ui <- fluidPage( 
  actionButton("pdf", "Manual", onclick = "window.open('xyz.pdf')")
)

server <- function(input, output) { }

shinyApp(ui = ui, server = server)

更新:

打开存储在本地驱动器上的 pdf 的另一种方法是在按下操作按钮时观察事件,然后使用内置的 R 函数file.show()

library(shiny)

ui <- fluidPage( 
  actionButton("pdf", "Manual")
)

server <- function(input, output) { 

  observeEvent(input$pdf, {
    # Absolute path to a pdf
    file.show(file.path(R.home(), "doc", "NEWS.pdf"))
  })

  }

shinyApp(ui = ui, server = server)
于 2016-08-06T00:05:36.667 回答