Pandoc文档格式转换:安装配置/踩坑记录/使用指南 | 您所在的位置:网站首页 › 微信页面设计图片 › Pandoc文档格式转换:安装配置/踩坑记录/使用指南 |
Pandoc介绍 将文件从一种标记格式转换为另一种格式(比如 html 和 markdown等标记语言),它可以将文档在 Markdown、LaTeX、reStructuredText、HTML、Word docx 等多种标记格式之间相互转换,并支持输出 PDF、EPUB、HTML 幻灯片等多种格式。 使用场景需要将原本的word文档转换为md导入到Obsidian当中,在上网找了很多教程,感觉Pandoc最方便使用,而且后面如果有其他格式转换需求的话也可以满足,学习性价比较高。但是在安装配置的过程中遇到了很多问题,而网络上没有相应的系统的解决办法,因此在本文总结一下自己踩的坑以及整理了相关教程,供大家参考。 安装配置方法一:官网安装Pandoc使用如下命令安装 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环境变量中去。 我的电脑——>鼠标右键:属性——>高级系统设置——>高级:环境变量——>系统变量:path——>.......;D:\06 环境配置\pandoc-3.1.12 注:系统环境变量是相对所有用户而言,所以配置一个就可以了。 配置好了之后回到刚才的pandoc,点击旁边的+,直接打开Windows PowerShell,输入pandoc --version来检测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 实验室设备网 版权所有 |