我曾经能够将来自 URL 的图像包含在由 Shiny 的应用程序生成的 PDF 报告中 ![](url.com)
.几个 Markdown 版本后,我收到以下错误:! Unable to load picture or PDF file https://i0.wp.com/wptavern.com/wp-content/uploads/2016/07/stack-overflow.png?ssl=1
对于相同的代码。
Adding pandoc_args: ["--extract-media", "."]
到 YAML
在本地下载图像文件,但只能在本地使用 r-markdown
文件。
extract-media
解决方法? r-markdown 示例
title: "Test"
header-includes:
- \usepackage{graphicx}
- \usepackage{hyperref}
output:
pdf_document:
latex_engine: xelatex
pandoc_args: ["--extract-media","."]
number_sections: yes
keep_tex: yes
classoption: article
papersize: A4
fontsize: 10pt
geometry: margin=0.9in
linestretch: 1.15
---
## R Markdown
![click](https://i0.wp.com/wptavern.com/wp-content/uploads/2016/07/stack-overflow.png?ssl=1)
server.R 块触发报告生成## img report
output$downloadImgReport <- downloadHandler(
filename = function() {
paste0(format(Sys.time(), '%Y%m%d'),'-WS-CM-image-report-',docounts()$count, '.pdf')
},
content = function(file) {
src <- normalizePath('Untitled.Rmd')
src1 <- normalizePath('logo.png')
owd <- setwd(tempdir())
on.exit(setwd(owd))
file.copy(src, 'Untitled.Rmd', overwrite = TRUE)
file.copy(src1,'logo.png')
library(rmarkdown)
out <- render('Untitled.Rmd', output_format=pdf_document(latex_engine = "xelatex"))
writetolog(1,session$token)
file.rename(out, file)
}
)
最佳答案
最新版本的 rmarkdown 需要在本地下载图像。添加 pandoc_args: ["--extract-media","."]
到 YAML header 适用于本地 rmarkdown 文件,但不适用于 Shiny 的应用程序环境。
将 rmarkdown 降级到 1.9 以下版本将启用图像自动下载。
或者,可以使用 download.file()
在本地下载文件。并使用绝对路径引用。
title: "Test"
header-includes:
- \usepackage{graphicx}
- \usepackage{hyperref}
output:
pdf_document:
latex_engine: xelatex
pandoc_args: ["--extract-media","."]
number_sections: yes
keep_tex: yes
classoption: article
papersize: A4
fontsize: 10pt
geometry: margin=0.9in
linestretch: 1.15
---
## R Markdown
download.file(url = "https://i0.wp.com/wptavern.com/wp-content/uploads/2016/07/stack-overflow.png?ssl=1"), destfile = "stack-overflow.png")
![click]("stack-overflow.png")
关于r - 带有来自 Shinyapp 中的网络图像的 LaTeX PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52652934/