相关疑难解决方法(0)

在Shiny app下载的r markdown报告中使用图像

我创建了一个非常大的闪亮应用程序,它有一个可下载的pdf报告.客户已在pdf的每个页面的标题中请求了他们的徽标.当pdf本身(不是更大的闪亮应用程序的一部分)时,我可以在pdf上获得徽标,但当我尝试从闪亮的应用程序中下载完全相同的报告时,pandoc无法找到图像.下面是一个最小的工作示例和我尝试过但未能开始工作的事项列表. smiley.png位于app.R文件夹中,可以替换为任何图像. smiley.png与我在完整应用程序中使用的图像不同,因此它与原始图像无关.

编织rmarkdown本身工作完美,包括标题.尝试从闪亮的应用程序中下载导致问题.
我试过了:

  • 将图像移动到名为"images"的文件夹中,并引用images\smiley.png而不是smiley.png.这也失败了同样的错误.
  • 当应用程序上传到shinyapps.io时引用/srv/shiny-server/AppName/smiley.png.无法找到图像失败(相同类型的错误).
  • 使用普通![Logo](smiley.png)语法而不是四个标题行.也失败了同样的错误,无法找到smiley.png
  • <img src="smiley.png" />在我的www文件夹中使用smiley.png不起作用.我正在编织pdf,而不是HTML.pdf针织但不包括图像.它只是删除了HTML.
  • ![Logo](smiley.png)在我的www文件夹中使用带有smiley.png的纯语法不起作用.同样的错误; 找不到smiley.png.

我最好的猜测是,当应用程序运行时,它会以某种方式在目录中移动,而.rmd无法找到图像.那么我需要参考什么来找到图像?我可以把它放在特定的文件夹中吗?我已经尝试了很多不同的东西,做了很多研究,但是找不到一个类似的例子.我在闪亮的应用程序中使用了我用于图像的www文件夹(不包含在下面),添加新文件夹,将图像放在与.rmd相同的文件夹中......这是一个非常漫长的研究过程,试用,和错误没有成功.

该应用程序:

library(shiny)
ui<-shinyUI(fluidPage(
  titlePanel("Hello Shiny!"),
  sidebarPanel(
    downloadButton('downloadReport',label="Download Report")
              ),
  mainPanel(
      p("Hello")
           )
  ))

server<-shinyServer(function(input, output) {
   output$downloadReport <- downloadHandler(
      filename = function() {
           paste0('Report_.pdf')
                            },
      content = function(file) {
           src <- normalizePath('report.rmd')
           owd <- setwd(tempdir())
           on.exit(setwd(owd))
           file.copy(src, 'report.rmd')
           library(rmarkdown)
           out <- render('report.rmd',pdf_document())
           file.rename(out, file)
                               }
   )
 })

shinyApp(ui, server)#Runs the app
Run Code Online (Sandbox Code Playgroud)

R降价报告.rmd:

---
title: "Test"
date: "Friday, March 04, 2016"
output: pdf_document …
Run Code Online (Sandbox Code Playgroud)

pdf r r-markdown shiny

4
推荐指数
1
解决办法
1438
查看次数

标签 统计

pdf ×1

r ×1

r-markdown ×1

shiny ×1