obsidian的强大插件pandoc——实现将markdown转成嵌入图片的word可编辑文件

目录

需求

安装Pandoc

下载

方法一:官网下载

方法二:这里链接下载

配置环境变量

检查有无配置成功

使用Pandoc命令输出docx文件(命令行模式)

简单语法

演示

安装Pandoc插件

安装

方法一、在obsidian中安装Pandoc插件(需要加速)

方法二、在GitHub上下载Pandoc(需要加速)

方法三:链接下载

配置Pandoc path

配置输出路径(建议配置)

配置总结

使用

其他配置

附:一些问题

由于插件导致的图片路径问题

关于图片路径

Pandoc未安装问题


需求

Pandoc是一个由 John MacFarane 开发的通用文档转换工具,可以支持大量标记语言之间的格式转换,例如 Markdown、MicrosoftWord、PowerPoint、 Jupyter9 NotebooK、HTML、PDF、LaTeX、Wiki、EPUB 格式之间的相互转换。

obsidian是基于Markdown文件的本地知识管理软件,并且开发者承诺Obsidian对于个人使用者永久免费。obsidian有强大的插件生态。


Markdown很方便,但是有时候想要将Markdown转换成可编辑的Word文件。

为了实现将.md格式文件转成.docx格式文件,这里采取的方法是:安装Pandoc,并在obsidian中安装Pandoc插件实现将.md格式转换成.docx格式。(如果是转成pdf的话,Ctrl + P就能找到转pdf的功能了)


:.docx 是较新的Word文档格式,Pandoc直接输出的是.docx格式,而不是旧的.doc格式,因为.docx是基于Open XML标准的,更易于机器处理和转换。

安装Pandoc

安装Pandoc,官网好像挺慢的,没有加速的话,可以直接跳到方法二,通过链接下载。

下载

这里提供两种方法下载:

  • 方法一:官网下载
  • 方法二:链接下载

官网如果没有加速的话,似乎是比较慢的,可以直接跳到方法二进行下载。

方法一:官网下载

Pandoc官网:

Pandoc - 索引 --- Pandoc - indexicon-default.png?t=N7T8https://pandoc.org/

(1)点击installing

(2)点击安装:

(3)选择合适版本:我这里选择的如下版本(看你电脑什么版本):

(4)选择一个合适的路径,并解压

解压后有如下文件

(5)请转到配置环境变量

方法二:这里链接下载

链接:https://pan.baidu.com/s/1nzy_QCuu-1YPWpvS7vCmqg?pwd=1i2a 
提取码:1i2a

链接包含:pandoc-3.2-windows-x86_64(pandoc.exe可执行文件)和pandoc_plugin(pandoc插件)

下载后,解压到合适目录,pandoc-3.2-windows-x86_64文件内容如下:

配置环境变量

已经下载了pandoc,接下来只需要将pandoc的路径添加到环境变量中:

(1)在Windows下搜索框:

搜索编辑系统环境变量(或者控制面板):

(2)点击环境变量

(3)找到系统变量下方的path,点击“编辑”:

(4)添加:

        点击新建,我的pandoc.exe路径是D:\software\pandoc\pandoc-3.2-windows-x86_64\pandoc-3.2\pandoc.exe,所以新建后添加的是D:\software\pandoc\pandoc-3.2-windows-x86_64\pandoc-3.2(注意:是pandoc.exe所在的目录)

(5)之后点击一路点击确定,完成配置。

检查有无配置成功

Win+R打开cmd

输入:“pandoc  --version”如下则配置成功:

如果不能识别pandoc命令,则说明配置的路径有问题。

使用Pandoc命令输出docx文件(命令行模式)

这里演示的是在命令行中将.md格式转换成.docx格式。不喜欢的就直接跳到插件模式。


注:关于doc与.docx

.docx 是较新的Word文档格式,Pandoc直接输出的是.docx格式,而不是旧的.doc格式,因为.docx是基于Open XML标准的,更易于机器处理和转换。


简单语法

要将Markdown文件(或其他Pandoc支持的格式)转换为.docx格式,以下是语法格式:

pandoc yourfile.md -o output.docx

演示

双击pandoc.exe后发现是个小黑框(我也没查怎么用)。既然之前已经配置了环境变量,就能在cmd中使用pandoc命令,所以之后的演示都是在cmd中运行

(1)Win + R输入cmd并回车

(2)切换到你要操作的目录,例如

cd/d D:\BaiduNetdiskWorkspace\warehouse\language\MarkDown

(3)参照语法

pandoc  yourfile.md  -o  yuan_outfile.docx  

例如我要将MarkDown.md转换成MarkDown.docx,只需要使用以下命令:

pandoc MarkDown.md -o MarkDown.docx

当然,文件名是可以自己取的,不过如果是取" yuan outfile "这样文件名中有空格的名记得加上双引号。

(4)生成了docx格式文件,打开看看,以下是其中一点内容的截屏

图片成功嵌入到了word中,至于格式包括字体等内容就跟word的配置有关了。

每个人可能需求不一样,请对自己比较在意的格式进行检查。

安装Pandoc插件

在obsidian中安装pandoc插件,如果没有加速,介意直接跳到方法三用链接下载。

这里提供三种下载方法:

  1. 在obsidian插件社区安装
  2. 在GitHub上安装
  3. 链接下载

提供三种方法是因为如果你之前已经通过某个方法下载了pandoc插件,能够给你提供一个对照。如果没有可以直接方法三。

安装

方法一、在obsidian中安装Pandoc插件(需要加速)

(1)打开obsidian中的插件社区  

(2)搜索Pandoc插件

(3)点击安装

(4)点击启用

当前仓库的.obsidian配置文件下的plugins插件通常用保存插件文件,安装成功后会在文件夹下生成obsidian-pandoc文件夹,obsidian-pandoc下会生成三个文件,如下(这个看不看无所谓):

(5)请转到配置Pandoc path

方法二、在GitHub上下载Pandoc(需要加速)

Pandoc插件下载地址(这里是插件,上面是.exe可执行程序

Releases · OliverBalfour/obsidian-pandoc (github.com)icon-default.png?t=N7T8https://github.com/OliverBalfour/obsidian-pandoc/releases

(1)点击上面的网页后,选择下载下面圈中的三个文件:main.js,mainfest.js

(2)找到你仓库下的.obsidian配置文件,例如:你的仓库路径是:D:\path\vault,那就需要找到D:\path\vault\.obsidian

(3)点击plugins,这是保存obsidian插件的地方,

(4)在plugins文件下创建一个obsidian-pandoc文件夹

(5)将刚刚下载的三个文件移动到obsidian-pandoc文件下,如下:

(6)重启obsidian,并选择信任插件,且在设置中启用插件

方法三:链接下载

这里的链接跟上方一样的

链接:https://pan.baidu.com/s/1nzy_QCuu-1YPWpvS7vCmqg?pwd=1i2a 
提取码:1i2a

(1)解压后在pandoc_plugin文件中查找到以下三个文件(之后就是将这三个文件放到.obsidian合适的位置中):

 (2)找到你仓库下的.obsidian配置文件,例如:你的仓库路径是:D:\path\vault,那就需要找到D:\path\vault\.obsidian

(3)点击plugins,这是保存obsidian插件的地方(如果没有plugins文件夹,就建立一个文件夹,obsidian就识别.obsidian/plugins下的插件)

(4)在plugins文件下创建一个obsidian-pandoc文件夹

(5)将刚刚下载的三个文件移动到obsidian-pandoc文件下,如下:

 (6)重启obsidian,并选择信任插件,且在设置中启用插件(默认第三方插件开启安全模式,请关闭安全模式)

注:如果你的第三方插件中显示“你目前已经安装了0个插件”说明你的插件路径未被识别

  • 文件位置在plugins的obsidian-pandoc下,比如我是D:\Projects\.obsidian\plugins\obsidian-pandoc

  • 在点击开启Pandoc Plugin后,左边栏目会显示插件

配置Pandoc path

(1)打开Pandoc的设置

(2)给定pandoc.exe的路径

这里指定的是“D:\software\pandoc\pandoc-3.2-windows-x86_64\pandoc-3.2\pandoc.exe”

配置输出路径(建议配置)

如果为输出路径配置,以后pandoc导出的文件都会默认保存在该文件夹下,不配置也可,会默认保存在源文件的旁边。(这里当时是建议配的)


实现:

打开obsidian的设置,在Pandoc Plugin设置的Export folder配置添加你想指定的输出路径,比如我这里添加的是D:\workspace\obsidian_out

那么之后pandoc在导出文件的时候,会默认将文件输出到D:\workspace\obsidian_out文件夹下

配置总结

使用

先看操作和成果

操作:

Ctrl + P调出以下弹框,并搜索pandoc的功能,不过基本上打个p就能弹出来了(Ctrl + P还能调出obsidian将笔记转成pdf的功能)

成功在docx文件中嵌入图片。

不过,这里只力求将图片嵌入,超链接和代码等格式没有细究。

其他配置

我尝试了NNN次,改变了一些配置,不确定哪些配置必要,但是新建了一个仓库,验证了以下配置可行

(1)我的图片指定保存在仓库根目录下的images中,这个名字取你喜欢的就行:

(2)在obsidian的设置中,点击“文件与链接”:

  • 更改内部链接类型为”基于当前笔记的相对路径“
  • 关闭”Wiki链接“
  • 更改默认附近文件夹路径为”指定的附件文件夹“,且填入(1)步骤的文件夹名,我是“images”

(3)同样在obsidian的设置中,下拉到Pandoc Plugin:

  • 更改"Export files from HTML or markdown"为"Markdown"
  • 更改”Export folder",这里可配可不配,如果配置之后,则默认会将生成的文件输出到这里,不配置就输出到要转换的文件旁边
  • 更改"Pandoc path",这里填pandoc.exe的安装路径,比如我填的"D:\workspace\obsidian-out"
  • 更改"Extra Pandoc arguments"为以下格式

--resource-path=你的图片路径的绝对地址

比如我是

--resource-path=D:/BaiduNetdiskWorkspace/warehouse/language/images

(4)观察输出结果:

成功输出。

基本配置已完毕,在你的obsidian中尝试吧

以上配置依旧失败,可能是因为之前已经生成的图片链接没有更新,但之后再粘贴图片会以能识别的形式存在

附:一些问题

如果完成以上配置且成功输出.docx文件不用看下面的问题

由于插件导致的图片路径问题

 目的是:将D:\BaiduNetdiskWorkspace\warehouse\science\MySQL\crash course下的Crash course.md转成docx格式的

使用命令(这里是在cmd环境下运行):

pandoc "Crash course.md" -o "Crash course.docx"

(这里有双引号是因为文件名字中有空格)

发现,成功出现Crash course.docx文件

打开Crash course.docx后发现文字和一些基础格式导出基本没有问题,但是出现其他文本:

猜测,应该是因为我启用了一些管理图片的插件,会有额外的文本(例如下面图片的Open:Pasted image 20240518154825),所以导出失败

那什么路径基本能成功导出呢?

关于图片路径

根据这一文章:

关于正确识别本地图片icon-default.png?t=N7T8https://forum-zh.obsidian.md/t/topic/1930

其中作者测试总结了一些能正确识别本地图片路径的引用格式:

关于识别本地图片的引用路径
插件设置的源格式        md文档中的图片格式导出结果
 html![[附件/202111241058704.png]]成功
 html![[202111241058704.png]]失败
            markdown![](附件/202111241058704.png)直接导出失败
添加参数--resource-path="E:\Obsidian文档库\" 成功
            markdown![[附件/202111241058704.png]]导出成功,但wiki格式图片不识别
            markdown![](202111241058704.png)直接导出失败
添加参数--resource-path="E:\Obsidian文档库\附件\" 成功
            markdown

![](file:///E:/Obsidian/XX/

202111241058704.png)

失败,删除file:///协议,导出成功

其中关于插件设置的源格式html和markdown,应该如下图一般修改:

看你选择要转换的源文件的格式。

这些图片路径我没有都测试,不过想要尝试更多可能的主要思路是让Pandoc能识别图片引用路径

Pandoc未安装问题

报错:Pandoc is not installed or accessible on your PATH. This plugin's functionality will be limited.

是因为Pandoc未安装或者没有配置到Pandoc path中

Pandoc插件需要获取到Pandoc.exe的安装位置才能导出.docx文件,所以需要在其中加入Pandoc.exe的存放路径

比如我这里填入的路径是:

D:\software\pandoc\pandoc-3.2-windows-x86_64\pandoc-3.2\pandoc.exe

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值