利用 Pandoc 将 Markdown 生成 Word/PDF 文件
Pandoc 是一个格式转化工具,可以用于各(luan)种(qi)各(ba)样(zao)的文件转换,
反正我是认不全官网上的那个图(傲娇脸),
之前一直使用它将 Markdown 文件转换成 Html 文件,最近发现原来还可以生成 Word/PDF文件。
Word 文件生成
将 Markdown 文件生成 Word 文件很简单,和 html 文件一样
> pandoc test.md -o test.docx
同时在生成时也可以使用 -c
参数为文档指定样式文件( css 文件)
> pandoc test.md -o test.docx -c style.css
这里的样式与生成 html 时的样式一直,
针对 markdown 文档各个部分生成的 html 标签来应用,
如:在样式文档中定义的 h1 { font-size: 24px; }
就会应用在以 #
开头的一级标题行。
生成 pdf
原本以为生成 pdf 与 docx 一样省事,然鹅... 报错打脸:
> pandoc test.md -o test.pdf
pandoc: pdflatex not found. pdflatex is needed for pdf output.
原来是因为 pandoc 在生成 pdf 文件的时候默认使用 pdflatex 引擎,
我的电脑上没有安装 Tex,所以才报错了,故下载之
(小生使用的是 MiKTex,
它会在缺少组件的时候自动下载相关包。)
接着继续执行命令:
> pandoc test.md -o test.pdf
! Package inputenc Error: Unicode char 鍔?(U+529E)
(inputenc) not set up for use with LaTeX.
See the inputenc package documentation for explanation.
Type H <return> for immediate help.
...
l.53 \section{鍔炰簨澶勬竻鍗曟€濆瘑杈緘
Try running pandoc with --latex-engine=xelatex.
pandoc.exe: Error producing PDF
哎呀呀,又报错了,不过这次比较好,给了提示,
让我们试一试 --latex-engine=xelatex
参数,
pandoc 一般转换 pdf 使用的默认引擎是 pdflatex,
估计是不能识别 Unicode 字符串,导致无法支持中文,
所以这里建议我们换用 xelatex 引擎,执行之:
> pandoc test.md -o test.pdf --latex-engine=xelatex
文件生成,没有报错,堪称完美,以上... 哎,等一下,
打开文档一看,我的汉字呢... 汉字全部空白(pandoc 饿了?)
google 之发现,原来是没有指定字体的问题,加上参数 -v
> pandoc test.md -o test.pdf --latex-engine=xelatex -v mainfont="Microsoft YaHei"
以上,完美~~~
参考链接:
https://segmentfault.com/a/1190000004887280
http://stackoverflow.com/questions/18178084/pandoc-and-foreign-characters
利用 Pandoc 将 Markdown 生成 Word/PDF 文件的更多相关文章
- 利用Pandoc将markdown文件转化为pdf
利用Pandoc将markdown文件转化为pdf 准备工作 安装pandoc 安装MiKTeX 将markdown文件转换为pdf 准备工作 安装pandoc Windows下安装pandoc很容易 ...
- php+tcpdf如何把生成的pdf文件保存在服务端
tcpdf组件目前应用得非常广泛,但是对于如何把生成的pdf文件自动保存在服务端却很少有人提及.让我们先来看看标准输出代码: //服务器存档模式 $pdf->Output('output.p ...
- java使用freemark生成word/pdf
目录 一. 背景 二.实现的技术选型以及遇到的坑 三.最终的效果 2.1 .doc word效果展示 2.1 .docx word效果展示 2.2 docx word转pdf效果展示 三.准备工作及代 ...
- winform 替换word文档中的字段(包含图片添加),生成导出PDF文件(也可是word文件)
1.先打开你需要替换的word文档,在想要后续更换字段值的地方添加“书签”. 2.将模板文档存放在 程序的Debug文件下. 3.生成文件的按钮点击事件 代码: string templatePath ...
- Pandoc将markdown转换为word
markdown转换为word的指令 直接将markdown转换为word pandoc -f markdown -t docx ./test.md -o test.docx 关于markdown转为 ...
- 解决部分浏览器不能显示itext生成的PDF文件文本域内容问题
利用Itext可以实现pdf的高效动态生成,但在实践过程中遇到了一个问题: 即itext利用map中的值设置到pdf模板上建立的文本域中时:能成功生成,但是在部分浏览器上(360,QQ,等浏览器)无法 ...
- XPath2Doc,一个半自动采集网页生成Word Docx文件的工具,带企查查和天眼查模板
原始出处:https://www.cnblogs.com/Charltsing/p/XPath2Doc.html 很多人需要从网站采集一些数据填写Word模板,手工操作费时费力还容易出错,所以我给朋友 ...
- solr6.6 solrJ索引富文本(word/pdf)文件
1.文件配置 在core下面新建lib文件夹,存放相关的jar包,如图所示: 修改solrconfig.xml <lib dir="${solr.install.dir:../../. ...
- 利用html模板生成Word文件(服务器端不需要安装Word)
利用html模板生成Word文件(服务器端不需要安装Word) 由于管理的原因,不能在服务器上安装Office相关组件,所以只能采用客户端读取Html模板,后台对模板中标记的字段数据替换并返回给客户端 ...
随机推荐
- QOS-policy配置
QOS-QOS-policy配置 2018年7月7日 20:29 配置: 先匹配acl: [RT2]acl number 3000 [RT2-acl-adv-3000]description QOS ...
- linux普通用户su root切换提示没有文件或目录
1. 首先进入单用户模式: 1). ubuntu : 上述情况可以在grub界面选择第二项修复,但没有grub可以参考: 1.重启ubuntu,随即长按shirft进入grub菜单: 2.选择reco ...
- 长沙Uber优步司机奖励政策(1月11日~1月17日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- mavn打外部配置jar包依赖
https://blog.csdn.net/pei19890521/article/details/80984707
- spring源码-自定义标签-4
一.自定义标签,自定义标签在使用上面相对来说非常常见了,这个也算是spring对于容器的拓展.通过自定义标签的方式可以创造出很多新的配置方式,并且交给容器直接管理,不需要人工太多的关注.这也是spri ...
- java-IO处理类的序列化与反序列化
package TestIo; import java.io.*; /** * 序列化 * * * 对象序列化 * * 一 创建对象 需要说明,想序列化的对象一定要是实现Serivalizable接口 ...
- nodeJs 安装 npm nodeModules package.json
Nodejs 1.安装nodejs 从nodejs官网下载最新版本的node,设置环境变量这样就可以在cmd下直接用命令行操作npm 环境变量:path d:/nodejs 查看本机node及n ...
- ajax跨域请求php
在众多站群中,不同功能的系统使用独立的一个域名,各系统之间存在相互调用的关系.使用js的XMLHttpRequest调用其他域名提示跨域权限不足.有些可能认为都同属于同一个顶级域名或者说域名一模一样怎 ...
- HTML5项目笔记10:使用HTML5 IndexDB设计离线数据库
之前的文章(http://www.cnblogs.com/wzh2010/archive/2012/05/22/2514017.html)里面描述了HTML5 离线数据存储的Web SQL,一个基于S ...
- hdu1106 排序(字符串分割,strtok+sscanf)
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...