Намерение:
Я пытаюсь создать блестящее приложение, которое содержит просмотрщик PDF. Я стараюсь изо всех сил повторить этот пример:
отображение PDF-файла с локального диска в блестящем
Проблема:
В следующем примере Я загружаю фиктивный файл PDF в каталог 'www' в том же root, что и в App.R.
Насколько я понимаю, протоколы http, присущие приложениям Shiny, требуют от меня установки источник для iframe как "http://localhost/test.pdf"
, в отличие от "www/test.pdf"
. Но когда я запускаю этот код, я получаю iframe только с этим:
Я также следовал дополнительному совету в ранее упомянутом SO thread - запуск приложения с помощью кнопки «Запустить приложение» в RStudio вместо Ctrl + возврата через код. Нет успеха Кто-нибудь знает, как я могу сделать эту работу?
Представляет:
require(shiny)
#> Loading required package: shiny
ui = fluidPage(
htmlOutput("pdfViewer")
)
server = function(input, output, session) {
### Libraries
require(pdftools)
### Create 'www' dir (understand that this
### is where 'localhost' stuff is kept?)
suppressWarnings(dir.create("www"))
### Make a test pdf file using the w3 dummy pdf
pdf = "www/test.pdf"
download.file(url = "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
destfile = pdf)
### Define the http: address for the pdf
pdfHttp = "http://localhost/test.pdf"
output$pdfViewer =
renderText({
### Copied this from here: "https://stackoverflow.com/a/21024943/11149547"
return(paste('<iframe style="height:600px; width:100%" src="', pdfHttp, '"></iframe>', sep = ""))
})
}
shinyApp(ui = ui, server = server)
Приложение (данные версии R)
> R.version
_
platform x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status
major 3
minor 6.1
year 2019
month 07
day 05
svn rev 76782
language R
version.string R version 3.6.1 (2019-07-05)
nickname Action of the Toes