如何在R Shiny应用程序的同一窗口中加载PDF文件?
这里是一个例子:
library(shiny)
ui <- fluidPage(
navbarPage("Demo",
tabPanel("Overview", fluidPage(fluidRow("Overview page"))),
tabPanel("PDF file", fluidRow(uiOutput("load_pdf_file")))))
server <- function(input, output) {
# 1. Load PDF file
output$load_pdf_file <- renderUI({
# 1.1. This loads pdf file in a 'new' window
browseURL("http://www.africau.edu/images/default/sample.pdf")
# 1.2. How to load pdf file in the 'same' window where R Shiny app works
# Expect to see pdf file on the page in 'PDF file' section
# ...
})
}
shinyApp(ui = ui, server = server)
[我所知道的方法,不依赖于提供PDF,它使用的是在传统网页中使用的标准HTML方法,并带有shiny
代码js包装器将其放置在iFrame中。
[使用这种方法,在tabPanel
中设置一个iFrame,并给它一个尺寸(我选择了任意一个),以决定是否滚动,使用src
为它提供pdf文件的路径。当然,条件是您的PDF文件可以通过某种指向外部世界的本地路径或URL来发现。
library(shiny)
ui <- fluidPage(
navbarPage("Demo",
tabPanel("Overview", fluidPage(fluidRow("Overview page"))),
tabPanel("PDF file",
tags$iframe(style="height:800px;
width:200%;
scrolling=no",
src="https://your-path/your-file.pdf"))))