Pandoc文档格式转换:安装配置/踩坑记录/使用指南 您所在的位置:网站首页 微信页面设计图片 Pandoc文档格式转换:安装配置/踩坑记录/使用指南

Pandoc文档格式转换:安装配置/踩坑记录/使用指南

2024-05-23 16:52| 来源: 网络整理| 查看: 265

Pandoc介绍

将文件从一种标记格式转换为另一种格式(比如 html 和 markdown等标记语言),它可以将文档在 Markdown、LaTeX、reStructuredText、HTML、Word docx 等多种标记格式之间相互转换,并支持输出 PDF、EPUB、HTML 幻灯片等多种格式。

使用场景

需要将原本的word文档转换为md导入到Obsidian当中,在上网找了很多教程,感觉Pandoc最方便使用,而且后面如果有其他格式转换需求的话也可以满足,学习性价比较高。但是在安装配置的过程中遇到了很多问题,而网络上没有相应的系统的解决办法,因此在本文总结一下自己踩的坑以及整理了相关教程,供大家参考。

安装配置方法一:官网安装Pandoc官网页面:点击Installing官网页面选择对应版本安装方法二:linux直接安装 scoop install pandoc # 安装成功后 查看帮助(会发现一些有用的选项) 方法二doc -h方法三:利用Conda安装

使用如下命令安装 pandoc

$ conda install pandoc

安装完毕后,还需要安装 pandoc-xnos 插件,主要功能是图片、表格、公式等编号的索引,此软件包采用 python 编写,使用 pip 命令安装。

$ pip install pandoc-xnos

由于 pandoc 生成 PDF 文件需要使用 latex 工具,因此还需要安装 texlive 软件,推荐在 linux 平台直接使用 yum 或者 apt 命令安装。

对于纯小白来说直接在官网安装解压即可。

解压后得到四个文件:.rtf与.txt——版权声明文件,.html——用户指南,pandoc.exe——命令行工具。

主要使用pandoc.exe来进行文件转换。

解压后的文件

这时候踩了第一个坑,直接点开pandoc,输入命令,发现并没有什么卵用。

不知道这个能用来干啥,然后又直接打开cmd执行命令,结果windows根本找不到安装好的Pandoc,搜索了一下发现需要配置环境变量,将pandoc.exe的路径配置到path环境变量中去。

我的路径:D:\06 环境配置\pandoc-3.1.12

我的电脑——>鼠标右键:属性——>高级系统设置——>高级:环境变量——>系统变量:path——>.......;D:\06 环境配置\pandoc-3.1.12

注:系统环境变量是相对所有用户而言,所以配置一个就可以了。

配置好了之后回到刚才的pandoc,点击旁边的+,直接打开Windows PowerShell,输入pandoc --version来检测pandoc是否可用。

pandoc可用信息查看

查看程序支持的输入文件格式:

pandoc --list-input-formats

查看程序支持代码高亮的编程语言:

pandoc --list-highlight-languages

查看程序帮助:

pandoc --help常用命令

Pandoc支持多种命令,以下是一些常用的命令。

1. 转换Markdown为HTMLpandoc -s input.md -o output.html

其中“-s input.md”表示将Markdown文件转换为HTML文件,“-o output.html”表示将结果输出到output.html文件中。

2. 转换Markdown为PDFpandoc -s input.md -o output.pdf

和将Markdown转换为HTML的命令类似,只是输出的文件类型不同,需要使用PDF。

3. 转换多个文件pandoc -s file1.md file2.md -o output.html

可以同时将多个Markdown文件转换为同一个格式的文件。

4. 引入CSS样式pandoc -s input.md -o output.html --css=mycss.css

可以使用--css选项引入自定义的CSS样式。

5. 生成目录pandoc -s input.md -o output.html --toc

可以在生成的HTML文件中自动生成目录。

6. 转换为其他格式pandoc -s input.md -o output.docx

除了将Markdown转换为HTML或PDF,还可以将其转换为Word等其他格式

实际操作

桌面上放了我需要转换的word文档,(注意需要保存为docx),利用如下命令来实现格式转化。

pandoc -s input.docx -t markdown -o output.md

第一次报错,找不到目标文件或目录,此时我认为是路径问题,用cd Desktop进入桌面,再次尝试还是报错,还是找不到目标文件。这时候没什么办法,只能继续在网上找教程,发现 @Curious zixi 老师给出的提示:文件名中不能包含空格 ,发现自己给文件命名时经常习惯性用空格来隔断字符,结果导致命令无法被识别。于是尝试修改文件名,改为:现西3笔记,然后成功在桌面成md文件。(Pandoc 软件运行时默认的文件地址和命令行中的路径是一致的)

两次报错常见问题

这里仅对查阅的教程文档中提及的问题做梳理,整理到本文末尾,以便后续遇到问题时可以随时查看,也供大家参考。

1. 生成pdf过程中的问题 执行命令:pandoc --latex-engine=xelatex test.md -o test.pdf 编译出错:latex-engine has been removed. Use --pdf-engine instead.替换为:pandoc --pdf-engine=xelatex test.md -o test.pdf 编译生成的pdf文件只有英文,中文不显示,原因是没有指定中文字体,在 cmd 中用 fc-list 查看所有安装的字体:``fc-list :lang=zh 输出所有中文字体, cmd输出的中文乱码,执行chcp 65001打开 active code page 65001 可以看到正常的中文输出 注:用 -V mainfont="Microsoft YaHei" 指定中文字体,必须是双引号,否则会报错pandoc --pdf-engine=xelatex -V mainfont="Microsoft YaHei" test.md -o test.pdf 中文正常显示后,发现中文不换行。原因是 Pandoc 使用的 latex 模板文件需要修改看了几篇文章,他们都改用了Tzeng Yuxio的模板文件,下载该模板,修改命令为:pandoc --pdf-engine=xelatex --template=pm-template.latex test.md -o test.pdf # 或者 指明绝对路径: pandoc --pdf-engine=xelatex --template=D:\tools\Pandoc\pm-template.latex test.md -o test.pdf2. 将 Markdown 文档直接转换为格式整洁的 PDF 文档3. 需要转化的文档中含有图片

docx如果存在图片,需要将图片保存到media目录下面如下:

pandoc test.docx --extract-media=. -o test.md

---20240216更新



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有