- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个非常大的 Shiny 应用程序,其中包含可下载的 pdf 报告。客户要求在 pdf 每页的页眉中添加他们的 Logo 。当 pdf 本身(不是较大的 Shiny 应用程序的一部分)时,我可以在 pdf 上获得 Logo ,但当我尝试从 Shiny 应用程序中下载完全相同的报告时,pandoc 无法找到图像。下面是一个最小的工作示例以及我尝试过但未能成功工作的列表。 smiley.png 位于 app.R 文件夹中,可以替换为任何图像。 smiley.png 与我在完整应用程序中使用的图像不同,因此与原始图像。
编织 rmarkdown 本身效果很好,并且包含标题。尝试从 Shiny 的应用程序内下载会导致问题。
我试过:
![Logo](smiley.png)
语法而不是四个标题行。也因无法找到 smiley.png 的相同错误而失败<img src="smiley.png" />
在我的 www 文件夹中使用 smiley.png 不起作用。我正在编织 pdf,而不是 html。 pdf 针织品,但不包含图像。它只是删除了 html。 ![Logo](smiley.png)
我的 www 文件夹中的 smiley.png 语法不起作用。同样的错误;找不到笑脸.png。 我最好的猜测是,当应用程序运行时,它会以某种方式在目录中移动,并且 .rmd 无法找到图像。那么我需要引用什么才能找到图像呢?我可以将其放在特定文件夹中吗?我尝试了很多不同的事情并做了很多研究,但很难找到一个类似的例子。我在 Shiny 的应用程序中使用了用于图像的 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
R markdown 报告.rmd:
---
title: "Test"
date: "Friday, March 04, 2016"
output: pdf_document
header-includes: \usepackage{fancyhdr}
---
\addtolength{\headheight}{1.0cm}
\pagestyle{fancyplain}
\lhead{\includegraphics[height=1.2cm]{smiley.png}}
\renewcommand{\headrulewidth}{0pt}
```{r, echo=FALSE}
plot(cars)
```
```{r, echo=FALSE}
plot(cars)
```
错误:
C:/Apps/RStudio/bin/pandoc/pandoc report.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output report.pdf --template C:\Apps\R-3.1.1\library\rmarkdown\rmd\latex\default.tex --highlight-style tango --latex-engine pdflatex --variable geometry:margin=1in
pandoc.exe: Error producing PDF from TeX source.
! Package pdftex.def Error: File `smiley.png' not found.
See the pdftex.def package documentation for explanation.
Type H <return> for immediate help.
...
l.88 \end{document}
Warning: running command 'C:/Apps/RStudio/bin/pandoc/pandoc report.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output report.pdf --template C:\Apps\R-3.1.1\library\rmarkdown\rmd\latex\default.tex --highlight-style tango --latex-engine pdflatex --variable geometry:margin=1in' had status 43
Error : pandoc document conversion failed with error 43
In addition: Warning message:
package ‘shiny’ was built under R version 3.1.3
Warning: Error in : pandoc document conversion failed with error 43
Stack trace (innermost first):
55: pandoc_convert
54: render
53: download$func [C:/Data/Documents/Technomic/Testing images/app.R#25]
5: <Anonymous>
4: do.call
3: print.shiny.appobj
2: print
1: source
谢谢!我希望有人有一些想法。我连续几天都在断断续续地研究和尝试。
编辑:修复了输出格式。
最佳答案
终于找到了问题——它根本不在rmarkdown中。我将 report.pdf 复制到临时目录以确保我可以写入它,这意味着报告无法再找到该图像。我所要做的就是将图像也复制到临时目录中。添加了两条新行,现在可以完美运行了!
希望这对其他人有帮助!我知道我花了很长时间寻找这个解决方案,但找不到其他人尝试将图像包含在可下载的报告中。
library(shiny)
# Define UI for application that draws a histogram
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')
src2 <- normalizePath('smiley.png') #NEW
owd <- setwd(tempdir())
on.exit(setwd(owd))
file.copy(src, 'report.rmd')
file.copy(src2, 'smiley.png') #NEW
library(rmarkdown)
out <- render('report.rmd',pdf_document())
file.rename(out, file)
}
)
})
shinyApp(ui, server)#Runs the app
关于r - 在从 Shiny 应用程序下载的 R Markdown 报告中使用图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35800883/
当我尝试通过我的 .exe 文件从 url 下载 .pdf 文件时出现以下错误。 The server committed a protocol violation. Section=Response
我是一家非营利组织的 G Suite 管理员,刚刚发现数据导出功能,这似乎是个人帐户的外卖。 导出文件已准备好,现在可以从 Google Cloud Platform Storage 中的存储桶下载。
导航 引言 总体思路 七牛云相关的配置文件 获取七牛云上传token 相关类定义 核心代码实现 获取七牛云图片下载链接 公开空
这不是后端编程问题。我只能修改标记或脚本(或文档本身)。我在这里问的原因是因为我对适当术语的所有搜索都不可避免地导致有关编程此功能的问题和解决方案。我不是试图通过编程来强制它;我必须找出此 PDF 行
您好,我已在 Google AdSense 中注册,我想使用适用于 iOS 的 SDK,但目前我找不到 SDK 下载链接。 我的申请已获批准。 任何人都知道如何下载这个sdk。 我使用这个链接来描述如
我需要为当前在 SourceForge 上的 github 项目提供二进制文件和文档。在那里,我可以为我需要的下载提供一个目录结构,因为我必须为大约 10 个不同的操作系统提供几个版本。 github
我从 Canvas 下载绘图时遇到问题。这是我的代码: function downloadCanvas(link, canvasId, filename) { link.href =
ASP.NET 项目 我将使用 Azure 进行存储。问题(要求): 在我的项目中,我让注册用户下载文件。但我不希望用户将此下载链接分享给未注册的人(例如:我给注册用户的下载链接只能在他们的计算机上下
我编写了一个servlet,用于检查http header ,但我不知道为什么当页面加载时,它会自动开始下载。 /* * To change this template, choose To
我正在尝试将下载添加到我的网络浏览器,但遇到的问题是获取您尝试下载的文件的名称。这是我的下载代码: engine.locationProperty().addListener(new ChangeLi
我正在尝试下载网站的 html: String encoding = "UTF-8"; HttpContext localContext = new BasicHttpContext();
我制作了一个带有“开始下载”按钮的框架,用于从网站下载 JAR。 问题是每当我点击开始下载按钮时,整个框架就会卡住,直到下载完成,然后就正常了。 我该如何解决这个问题? 这是单击按钮时执行的代码 p
我得到这段代码来实现一些东西,它可以帮助我从给定的 URL 下载文件。 -(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSes
我正在尝试创建一个 Controller 来使用流方法下载和上传文件,在我的例子中,所有文件都作为 Blob 保存在数据库中。我阅读了 Jboss Netty 的文档,但我认为这不是我的最佳解决方案。
下载并保存文件 let destination: DownloadRequest.DownloadFileDestination = { _, _ in // var fileURL = sel
使用 htaccess 我基本上试图禁止访问该页面,即 http://example.com , 但它仍然允许人们下载文件,如果他们有直接链接即 http://example.com/hi.zip .
我正在寻求将脚本与我的控制面板集成,并且由于我是新手脚本编写者而遇到问题。我想做的是用 1 个脚本下载一个文件并解压它。 示例: wget http://example.com/example.tar
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
这个问题在这里已经有了答案: Top techniques to avoid 'data scraping' from a website database (14 个答案) 关闭 5 年前。 我有
这个问题在这里已经有了答案: Reading and parsing email from Gmail using C#, C++ or Python (6 个答案) 关闭 7 年前。 我只是想,是
我是一名优秀的程序员,十分优秀!