Verwenden des Bilds im r-Abschriftenbericht, der von der Shiny-App heruntergeladen wurde
Ich habe eine sehr große, glänzende App mit einem herunterladbaren PDF-Bericht erstellt. Der Kunde hat sein Logo in der Kopfzeile jeder Seite des PDF angefordert. Ich kann ein Logo auf dem PDF erhalten, wenn das PDF für sich alleine ist (nicht Teil der größeren glänzenden App), aber Pandoc kann das Bild nicht finden, wenn ich versuche, den exakt gleichen Bericht aus der glänzenden App herunterzuladen. Im Folgenden finden Sie ein Beispiel für die Mindestarbeitszeit und eine Liste der Dinge, die ich versucht habe und nicht zur Arbeit gebracht habe. smiley.png ist im Ordner mit app.R und kann durch ein beliebiges Bild ersetzt werden. smiley.png ist ein anderes Bild als das, das ich in der vollständigen App verwendet habe. Es hat also nichts mit dem Originalbild zu tun.
Das Stricken des Markdowns selbst funktioniert einwandfrei und schließt den Header ein. Der Versuch, aus der glänzenden App herunterzuladen, verursacht das Problem.
Ich habe es versucht
![Logo](smiley.png)
-Syntax anstelle der vier Kopfzeilen. Ebenfalls fehlgeschlagen mit dem gleichen Fehler, dass smiley.png @ nicht gefunden werden konnt<img src="smiley.png" />
mit smiley.png in meinem WWW-Ordner funktioniert nicht. Ich stricke ein PDF, kein HTML. PDF strickt, enthält aber kein Bild. Es wird nur der HTML-Code entfernt. using plain![Logo](smiley.png)
syntax mit smiley.png in meinem www ordner funktioniert nicht. Gleicher Fehler; kann smiley.png nicht finden.Meine beste Vermutung ist, dass sich die App beim Ausführen irgendwie durch die Verzeichnisse bewegt und die .rmd das Bild nicht finden kann. Worauf muss ich verweisen, um das Bild zu finden? Kann ich es in einem bestimmten Ordner ablegen? Ich habe so viele verschiedene Dinge ausprobiert und viel recherchiert, aber ich hatte Probleme, ein einziges ähnliches Beispiel zu finden. Ich habe den www-Ordner, den ich für Bilder in der glänzenden App verwende (nicht im Lieferumfang enthalten), verwendet, neue Ordner hinzugefügt und das Bild in denselben Ordner wie die .rmd-Datei verschoben. und Fehler ohne Erfolg.
Die App
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 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)
```
Der Fehler
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
Vielen Dank! Ich hoffe jemand hat ein paar Ideen. Ich habe tagelang geforscht und Dinge ausprobiert.
Edit: Die Ausgabeformatierung wurde korrigiert.