zoukankan      html  css  js  c++  java
  • 利用 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

  • 相关阅读:
    硬币游戏 Project Euler 232
    屏幕空间的近似全局光照明(Approximative Global Illumination in Screen Space)
    四维之美
    vertex texture fetching in HLSL, and heightfield normal calculation
    一个VS小插件(跳出括号)
    我的算法书籍收藏
    Algorithms.算法概论.习题答案
    UML用例图教程详解
    大连理工大学软件学院博客地址
    快递查询API,我推荐“爱快递”
  • 原文地址:https://www.cnblogs.com/baiyangcao/p/pandoc_word_pdf.html
Copyright © 2011-2022 走看看