繁体   English   中英

knitr,pandoc:直接将SVG嵌入到HTML文档中

[英]knitr, pandoc: embeding SVG directly to HTML document

我正在使用knitr自动生成报告到mediawiki页面。 报告输出通过pandoc以HTML格式显示 但我在将数据上传到维基站点时遇到问题。 所以我想我会使用SVG设备并将代码包含在最终文档中,而不是依赖于外部文档。 但是我无法使用knitr或pandoc来做这件事。 有没有人知道创建嵌入式SVG而不是链接到图像的pandoc或knitr选项? 甚至一个小的外壳脚本,取代<img src="myFigure.svg">用的内容myFigure.svg

我最终使用一个简单的python脚本来完成这项工作

from sys import argv
import re
import os

def svgreplace(match):
    "replace match with the content of a filename match"
    filename = match.group(1)
    with open(filename) as f:
        return f.read()

def svgfy(string):
    img = re.compile(r'<img src="([^"]*\.svg)"[^>]*>')
    return img.sub(svgreplace, string)

if __name__ == "__main__":
    fname = argv[1]
    with open(fname) as f:
        html = f.read()
        out_fname = fname + ".tmp"
        out = open(out_fname, 'w')
        out.write(svgfy(html))
        out.close()
        os.rename(out_fname, fname)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM