cuman
1
pandoc插件可以把OB的md格式导出各种格式,比如Office格式。
当导出docx格式时,本地插入的图片有时无法正确显示,有时却可以正确导出并显示。下面通过一系列实验,找出规律并进行总结,给在这方面有困惑的人参考。
插件安装并配置
首先正确安装并设置pandoc插件,这点无需多说,只说重点几个点
- pandoc需要下载客户端并安装,安装后在ob的pandoc插件中指定安装路径
如图,指定是C:\Program Files\Pandoc\pandoc.exe
2 文档源格式是以html还是markdown格式导出,这里是能否正确显示图片的关键,下面会重点说
准备md文档 开始测试
- 图片格式如果是图床形式,比如http或者https开头测试均可正常导出并识别。
- 图片格式如果是本地图片。这里分两种情况
正确识别,不代表导出的word格式能正常显示图片,下面还有几个坑需要注意。
测试总结
为了表述问题更清楚,下面几个前提条件
-
测试图片名称为202111241058704.png
并位于库文件夹中的“附件”目录下
-
Ob库的物理路径为 E:\Obsidian文档库\
-
引用在线图床的图片,均正确导出。
-
引用图片如果是file:/// 协议需要删除file:/// 即可正确识别
-
pandoc插件设置文件源格式为html, 文档图片使用![[XX]]
的形式,基于库的相对路径插入的图片才能正确识别。比如[[附件/202111241058704.png]]
-
当设置文件源格式markdown,文章引入图片的格式为
。默认pandoc只去库根目录查找图片,如果图片存在其他目录需要使用参数指定,比如添加参数--resource-path="E:\Obsidian文档库\附件\"
-
当设置文件源格式markdown,文章引入图片的格式为
。默认pandoc只去库根目录查找图片,需要添加参数--resource-path="E:\Obsidian文档库\"
目前ob中pandoc插件导出word格式并包含本地图片,只有以上这几种方式可以正确识别并导出。
下面用表格更清楚展示:
插件设置的源格式 |
md文档中的图片格式 |
导出结果 |
html |
![[附件/202111241058704.png]] |
成功 |
html |
![[202111241058704.png]] |
失败 |
markdown |
 |
直接导出失败 添加参数--resource-path="E:\Obsidian文档库\" 成功 |
markdown |
![[附件/202111241058704.png]] |
导出成功,但wiki格式图片不识别 |
markdown |
 |
直接导出失败 添加参数--resource-path="E:\Obsidian文档库\附件\" 成功 |
markdown |
 |
失败,删除file:/// 协议,导出成功 |
33 个赞
感谢up,超级有用!!!!!!!!!!!!!!!正在疑惑呢!
枫落
(comies)
3
请问下,我文章做了块嵌入,有没有办法把这些正确的导出呢?就是把预览到的导出出来
正好在找 ob 的pandoc 导出教程,多谢,很有用
火冷
5
这个总结爱了!非常感谢。
请问pandoc转word
,有教程吗?还是只能看官方文档。
用了--reference-doc=d:\a.docx
参数,仍有以下问题:
- 添加封面
- 删除
Title
(用h1
代替,为了兼容PDF)
- 不识别
- [ ]
这样的任务格式
- 不识别
``
这样的高亮格式
- 不支持 css 高亮
- 有序列表的编号,能否增加上级标题的编号,比如
1.1.1
,而不是1.
cuman
6
建议查看pandoc 官方文档,pandoc的命令 在这里也是生效的。比如可以增加参数 --template 调用word模板 实现自定义样式
1 个赞
zzone
(正)
9
我采用第三种方法配置,会发生这样的报错
’‘pandoc.exe:note":openbinaryFile:does not exist (not such file or directory)’‘
note 是我的ob库文件名
cuman
10
按你的报错信息,文件名是没有问题。但实际上如果文件名包含特殊字符比如空格的话就要转换下了。
2 个赞
zzone
(正)
11
是的,库文件名不可以含有空格,有人建议在添加的命令里加入%20替代空格,但我还没试过。
(〜 ̄▽ ̄)〜
1 个赞
wen
(Liu JD)
12
你好,请问有$/LaTeX$数学公式的笔记怎么导出成word?

Deng
(Dimin)
13
我使用github作为图层,pandoc无法抓取图片,实在没有办法,请问是否有解决的思路呢?

吉吉如律令
14
破案了
有个Obsidian Enhanced export插件,可以右键快捷导出,但总是识别不了图片,看了下它的设置,默认都是 -f markdown
1 个赞
Windcliff
(Billy Zhou)
15
介绍个简单的办法,不用手动改引用文件的路径:
在ob的设置里,在“文件与链接”这一项里,把内部链接类型改成“基于仓库根目录的绝对路径”。然后MD就可以直接成功导出(html为源格式)而不用另外设置了。
猜测原因是后台运行时,识别不了中文,所以找不到图片文件
2 个赞
sl
(lee)
17
首先感谢UP,试过用html+相对路径的方式,可以成功导出图片。
但是已经写完的很多文档都是相对较短路径,也就是:![[202111241058704.png]] 这种。
不知道up有没有什么方法,可以批量的把某个文章内的图片引用统一改成这种: ![[附件/202111241058704.png]]呢?
大海
(大海)
18
mac系统好像不对,不知自知的,图片地址就是不对,我的设置是这样的:–resource-path=“/Users/liuling/04-工作文件/卡片写作/09\ 附件文档/” 这个图片地址我是通过『终端』查出来的。
1 个赞
Buger
(Chengbo Zhao)
19
这个是正解 其实就是因为默认的图片格式过于省略导致的pandoc识别不到附件的路径,改了这个选项就好了
1 个赞
fahagas
(fahagas)
20
【obsidian图片链接转换成markdown语法,不关闭wiki链接_图片转markdown_让我给您把把脉的博客-CSDN博客】(obsidian图片链接转换成markdown语法,不关闭wiki链接_图片转markdown_让我给您把把脉的博客-CSDN博客)
参考该链接,将Wiki格式图片转md格式,图片即可正常导出:
Regex Pipeline插件写入正则表达式 :
1、图片为原始大小
“![\【XXX/Pasted image (.+).png\】]”->“!【】(XXX/Pasted%20image%20$1.png)”
2、图片大小更改
“![[附件/Pasted image (.+).png|(.+)]]”->“
”
反过来,md格式图片转Wiki格式不知道能不能实现,有没有大佬搞一下。