【业务背景】
公司有很多操作手册文档都是零碎的,通过markdown写,类似下图:
结果要求要整成一份Word。
跪求解法两天,没啥好招,自己想一招进行处理。
【解法说明】
【1】装pandoc,让markdown可以输出Word。
【2】写一个批处理,遍历文件夹里面所有的markdown让其转出来。
@echo off
for /R %%i in (*.md) do (
echo Processing file: %%i
pandoc -V mainfont="Microsoft YaHei" -f markdown -t docx -o "%%~ni.docx" "%%i"
@echo Finished
)
pause > nul
此处有两个坑:
1. 第一个坑就是文件都转出来了,但是里面的图全都没进来。原因是图是放在对应文件夹中的assets。因此要先把图片复制到根目录的对应文件夹下。
因而在上面的代码中增加图片复制功能
@echo off
for /R %%i in (*.png) do (
echo Copying image: %%i
copy "%%i" "E:\Help\采购管理\assets"
)
pause > nul
@echo off
for /R %%i in (*.md) do (
echo Processing file: %%i
pandoc -V mainfont="Microsoft YaHei" -f markdown -t docx -o "%%~ni.docx" "%%i"
@echo Finished
)
pause > nul
发现图片复制功能并未生效,此乃坑2.
原因是路径中不能有中文。遂改路径采购管理为”PU“,此时生成的Word是正确的。大功告成一半。
转成的word文件示例如下:
【3】模块下多word进行合并
此时可采用word/wps自己本身的功能从文件中的文字进行批量合并,保留格式。
唯一要注意的是:得先对word进行编号,1,2,3之类的排序,这样合并的顺序会按排序进行合并。
终于大功告成,虽然花了不少时间,总算比较高效的完成了任务!