r - 以 Shiny 的方式显示来自本地驱动器的 pdf

标签 r image pdf shiny displayobject

我对 r 和 Shiny 仍然很陌生,而且我对原本应该是简单逻辑的东西感到困惑。我正在尝试在 imageOutput 小部件中显示 pdf 文件,但没有运气。有人可以引导我朝着正确的方向前进吗?

样本 ui.R

shinyUI(pageWithSidebar(
mainPanel(
  selectInput("sel_ed",
              label = "View outputs for Ecodistrict:", 
              choices = c(244,245,247,249), 
              selected = NULL,
              multiple = FALSE),

  imageOutput("imp_pdf",width="500px",height="500px")
))

示例服务器.R
shinyServer(function(input, output, session) {

importance <- function(inputSpecies){
img_dir <- pdf(paste(inputSpecies,"\\models\\MATL\\MATRF_Importance",sep=""))
}

output$imp_pdf <- renderImage({importance(input$sel_ed)}) 

})

我得到的大多数错误都与预期的字符向量参数或原子向量有关。我知道 Shiny 或多或少设计用于渲染和显示图像或绘图,但必须有一种方法来显示已经在本地驱动器上的 pdf。

最佳答案

在包含 server.R 和 ui.R 脚本的原始目录中创建一个名为 www 的文件夹。将 PDF 放在 www/文件夹中,然后使用类似于以下代码的内容:

在 server.R 中:

shinyServer(function(input, output) {

  observeEvent(input$generate, {
    output$pdfview <- renderUI({
      tags$iframe(style="height:600px; width:100%", src="foo.pdf")
    })
  })
})

在 ui.R 中:
shinyUI(fluidPage(

  titlePanel("Display a PDF"),

  sidebarLayout(
    sidebarPanel(
      actionButton("generate", "Generate PDF")
    ),

    mainPanel(
      uiOutput("pdfview")
    )
  )
))

关于r - 以 Shiny 的方式显示来自本地驱动器的 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19469978/

相关文章:

r - 在 OSX Big Sur 上安装 R(编辑 : and Apple M1) for use with Rcpp and openMP

asp.net - 调整图像大小和性能

CSS 裁剪景观到正方形

java - 在 Java 中加载和缓存图像的最佳方式是什么?

c# - 如何获取PDF页面的宽度和高度?

pdf - 服务器静态 pdf - Vue CLI - Webpack - 问题

sql-server - R:最佳实践 - dplyr 和 odbc 多表操作(从 SQL 检索)

R tm removeWords函数不删除单词

r - 为什么密度曲线下面积的总和总是大于 1 (R)?

html - 在 HTML 中嵌入 PDF