Как открыть файл PDF в том же окне, что и приложение R Shiny? - PullRequest
0 голосов
/ 23 февраля 2020

Как загрузить файл PDF в том же окне приложения R Shiny?

Вот пример:

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)

1 Ответ

2 голосов
/ 23 февраля 2020

Метод, который я знаю, не полагается на обслуживание PDF, он использует стандартные методы HTML, которые можно использовать на традиционной веб-странице, с обертками shiny code 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"))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...