我正在处理要打印到html文档的svg
列表。我正在使用magick
包认为我愿意使用其他包/解决方案。下面的代码是我尝试渲染我的html文档。但是,它不是将svg
呈现给html文件,而是将metadeta打印到文档中。有没有办法克服这种行为?
---
title: "My Test Report"
author: "Nicholas Hayden"
date: "6/12/2018"
output: html_document
---
```{r setup, set-options, include=FALSE, warning=FALSE}
library(rsvg)
library(magick)
paths <- c(
"~/path/to/my1.svg",
"~/path/to/my2.svg")
for (i in 1:length(paths)) {
print(image_read_svg(paths[i]))
}
```
编辑:
Rmd
命令:
![]("~/path/to/my1.svg")
失败并产生......
File "/Users/nicholashayden/Desktop/path/to/my1.svg" not found in resource path
Error: pandoc document conversion failed with error 99
@mikeck指出。这可能是一个路径问题。但是,在没有~
的情况下尝试会产生相同的错误。
<img src="/Users/nicholashayden/path/to/my1.svg">
的html纯文本将图像置于html文档中,而~
版本失败时出现与前一版相同的错误。
knitr::include_graphics()
方法使用绝对路径或带~
答案 0 :(得分:2)
我认为你想使用include_graphics
:
```{r}
for (i in 1:length(paths)) {
print(knitr::include_graphics(paths[i]))
}
```
答案 1 :(得分:0)
我认为我找到了这个问题的解决方案,它有点伪解决方案,可以完成任务,但没有解释产生问题的潜在机制。
根据knitr::include_graphics()
文档,path
参数为A character vector of image paths
- 强调向量。我们可以在没有.svg
的情况下显示magick
个文件,只需在示例的参考资料中使用以下代码。
# From example
paths <- c(
"/Users/nicholashayden/path/to/my1.svg",
"/Users/nicholashayden/path/to/my2.svg")
# Solution
knitr::include_graphics(paths)
这样我们可以避免使用由于某种原因导致此问题的for
循环。但是,这不适用于路径字符串中的~
。我的问题是忽略和假设knitr::include_graphics()
函数中的参数。希望这对未来的任何人都有帮助。