如何解决部署可以在应用程序本身内部调用 runApp() 的闪亮应用程序特别是对于 tabulizer 包
我正在尝试部署一个 Shiny 应用程序,该应用程序允许用户上传 pdf 文档并从所选页面中提取表格。为此,我使用包 tabulizer
。一个基本的可重现示例:
library(shiny)
library(tabulizer)
ui <- fluidPage(
fileInput("report",NULL,buttonLabel = "Upload report"),numericInput("page","Specify page number",value = 1),actionButton("extract","Extract"),verbatimtextoutput("data")
)
server <- function(input,output,session) {
generate_data <- reactive({
req(input$report)
# This locate_area function calls runApp() from the tabulizer package
area <- locate_areas(file = input$report$datapath,pages = input$page,widget = "reduced")
table <- extract_tables(file = input$report$datapath,area = area)
return(table)
})%>% bindCache(input$page) %>% bindEvent(input$extract)
output$data <- renderPrint({
# Just for the sake of this example to show it works
generate_data()
})
}
shinyApp(ui = ui,server = server)
如果我在本地运行它,locate_area()
将在 RStudio 的查看器上弹出 pdf 页面,一切正常。但是,如果我发布应用程序,单击操作按钮后它不会运行。我知道问题来自 locate_area()
,因为它本质上调用了闪亮的应用程序中的另一个 runApp
。我曾尝试为 locate_area()
使用不同的小部件但无济于事。有人知道绕过这个问题的方法吗?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。