我的obsidian笔记中有使用plantuml进行流程图绘制的部分,我想要导出成word文档,但是导出的时候不能直接导成图片而是代码,有什么办法可以在导出word文档时直接导成图片呢?在网上有查询到 pandoc-plantuml-filter这个过滤器,但是一直报错oserror: [winerror 193] %1 不是有效的 win32 应用程序,这个过滤器能实现这个效果嘛
实测 Win10 能导出成功
整个事情跟 Obsidian 没啥关系,
跟 pandoc / plantuml 以及不同程序间的命令行调用有关系
我这里 PlantUML 是个 jar 包, 没找到 exe (Win10, 不知其他平台啥情况)
但是 pandoc-plantuml-filter 要求在环境变量 PLANTUML_BIN
里指定 bin 路径才能用 (或者 bin 程序搁 Path 里), 见
所以我这里直接运行是报错的, 但是显式指定 PLANTUML_BIN
后, 可以成功导出
# cd 到 plantuml.jar 所在路径
$env:PLANTUML_BIN = "java -jar plantuml.jar"
echo $env:PLANTUML_BIN
# 然后正常导出
pandoc "导出uml测试.md" -o sample.docx --filter pandoc-plantuml --verbose
PS. 以上 $env:PLANTUML_BIN
是 powershell 写法 (cmd 是另一套, 道理类似)
PS2. 估计直接 python 代码里把 PLANTUML_BIN = os.environ.get("PLANTUML_BIN", "plantuml")
的缺省值改了也行