Использование изображения в отчете об уценке r, загруженном из приложения Shiny
Я создал очень большое блестящее приложение, которое имеет загружаемый отчет в формате PDF. Клиент запросил свой логотип в заголовке каждой страницы PDF. Я могу получить логотип на PDF, когда PDF сам по себе (не является частью большого блестящего приложения), но pandoc не может найти изображение, когда я пытаюсь загрузить точно такой же отчет из блестящего приложения. Ниже приведен минимальный рабочий пример и список вещей, которые я пытался и не смог заставить работать.smiley.png находится в папке с app.R и может быть заменен любым изображением. smiley.png - это изображение, отличное от того, которое я использовал в полном приложении, поэтому оно не имеет ничего общего с исходным изображением.
Вязание rmarkdown само по себе отлично работает и включает в себя заголовок. Попытка загрузки из блестящего приложения вызывает проблему.
Я пробовал:
![Logo](smiley.png)
синтаксис, а не четыре строки заголовка. Также не удалось с той же ошибкой не удалось найти smiley.png<img src="smiley.png" />
с smiley.png в моей папке www не работает. Я вяжу PDF, а не HTML. PDF вяжет, но не включает в себя изображение. Это просто удаляет HTML.используя равнину![Logo](smiley.png)
Синтаксис с smiley.png в моей папке www не работает. Та же ошибка; не могу найти 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
R уценка report.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
Спасибо! Я надеюсь, у кого-то есть идеи. Я искал и пробовал что-то в течение нескольких дней.
Редактировать: Исправлено форматирование вывода.