【问题标题】:R shiny: open a pdf after clicking an actionButtonR闪亮:单击actionButton后打开pdf
【发布时间】:2016-08-05 19:44:27
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: r shiny action-button


    【解决方案1】:

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

    • 在与ui.R 脚本相同的目录中创建一个新的www 文件夹
    • 将您的 pdf 文件,例如 xyz.pdf 放入 www 文件夹中
    • actionButton添加一个新参数(HTML属性)onclick并将其设置为"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)
    

    【讨论】:

    • 这行不通。 “未找到”出现在新标签页上。
    • 这也发生在我身上。如果我使用“shinyApp”从 R studio 午餐应用程序,该命令工作正常,但当我从命令行使用“runApp”午餐它时它不起作用。你设法解决了吗?谢谢
    • 嗨,我要出差到星期一,没有时间看它。您是否尝试使用 PDF 的绝对路径?
    • @Rachel 我知道这有点晚了,但我希望更新的解决方案适用于所有可能的情况。
    猜你喜欢
    • 2019-02-23
    • 1970-01-01
    • 2017-04-10
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 2020-08-09
    • 2015-07-09
    相关资源
    最近更新 更多