Markdown转Word/PDF/HTML全攻略:一键搞定所有格式转换!

9,689次阅读
没有评论

共计 2080 个字符,预计需要花费 6 分钟才能阅读完成。

使用 Markdown 后,偶尔会遇到和其他格式相互转换的需求。

Markdown 转为其他格式是非常方便的。但将 PDF、epub 等电子书转为 Markdown 就有点复杂了,本文就介绍一些转换技巧,和几个格式转换工具。

先了解下 Pandoc

Pandoc 是一个开源项目,号称文档格式转换的瑞士军刀。

Pandoc 的历史(了解即可)

Pandoc 是一个基于 GPL 协议开源的免费 命令行软件,由加州大学伯克利分校哲学系教授 John MacFarlane 使用 Haskell 语言开发,目前另一位核心开发者是来自德国的 Albert Krewinkel。截止 2022 年 12 月 10 日,Pandoc 的 GitHub 仓库拥有超过 27,000 个 Star,3,000 次 Fork。

根据 John MacFarlane 教授的 介绍,Pandoc 这个名称是一个组合单词:Pan 是希腊神话里的牧神,指的是一切掌管树林、田地和羊群的神,doc 则是 document 的缩写,意为文档。因此从字面意思来看,可以说 Pandoc 是一个「无所不能的文档转换利器」(universal markup converter),而它的确也拥有名副其实的功能。

Pandoc 的安装

Pandoc 的官网详细介绍了在各个操作系统上的 安装方法,以 Windows 为例,直接去其 GitHub 的发行页面下载即可:

Markdown 转 Word/PDF/HTML 全攻略:一键搞定所有格式转换!

安装完成之后,在命令行输入 pandoc --version​,如果输出以下或类似的信息,则意味着安装成功:

pandoc.exe 2.13
Compiled with pandoc-types 1.22, texmath 0.12.2, skylighting 0.10.5,
citeproc 0.3.0.9, ipynb 0.1.0.1
User data directory: C:UserspeterjxlAppDataRoamingpandoc
Copyright (C) 2006-2021 John MacFarlane. Web:  https://pandoc.org
This is free software; see the source for copying conditions. There is no
warranty, not even for merchantability or fitness for a particular purpose.

Pandoc 的基本使用方式

Pandoc 的基本使用方式如下:

pandoc [options] [input-file]

例如,将一个 TXT 文件转换为 HTML 文件:

pandoc -f markdown input.txt -t html -o output.html

同理,将 Markdown 转为其他格式,其他格式转为 Markdown,也是同样的用这样的指令来完成。

Typora 与 Pandoc

在 Typora 的菜单上,可以看到导出选项,支持 PDF、HTML、图片、Word 等等:

Markdown 转 Word/PDF/HTML 全攻略:一键搞定所有格式转换!

其实,Typora 是基于 Pandoc 的功能来完成格式转换的,其原理是调用电脑上的 Pandoc,如果没有安装的话,则导出会失败:

Markdown 转 Word/PDF/HTML 全攻略:一键搞定所有格式转换!

在安装完 Pandoc 后,就可以完成 Markdown 到其他格式的转换啦~

PS:如果安装 Pandoc 后,Typora 仍无法调用 Pandoc,可以考虑重启 Typora 或电脑。

PDF、Word、epub 转 Markdown

原理

Pandoc 除了能将 Markdown 转为其他格式之外,也支持其他格式转为 Markdown。

例如,Typora 也有导入的选项:

Markdown 转 Word/PDF/HTML 全攻略:一键搞定所有格式转换!

转换方式:

  • 如果是 PDF 文件,请先转换为 Word 文档,这个大部分 PDF 编辑器都支持(例如 WPS、PDF XChange Editor)
  • 如果是 epub、mobi 等电子书格式,也可以用 Calibre 来转换为 Word 文档
  • 如果是 Word 文档,可以直接导入到 Typora

图片问题

Pandoc 只能完成格式的转换,并不能解决图片的问题。如果 Word 里有图片,则导入 Markdown 后图片会失效:

Markdown 转 Word/PDF/HTML 全攻略:一键搞定所有格式转换!

那么,如何去提取这些图片呢?其实这些文件就在 .docx 文件里。我们修改下该文件的后缀名为 zip:

Markdown 转 Word/PDF/HTML 全攻略:一键搞定所有格式转换!

然后解压,就能看到一个 media 文件夹,而里面就有相关的图片:

Markdown 转 Word/PDF/HTML 全攻略:一键搞定所有格式转换!

将该文件夹放到和 Markdown 文件同个目录,即可正常读取到图片。

导入后,由于 Word 文档的问题,图片信息可能会带有很多后缀,例如下图的 {width=......}​:

Markdown 转 Word/PDF/HTML 全攻略:一键搞定所有格式转换!

我们可以通过正则表达式,批量去掉这些无用信息(一般编辑器都自带查找和替换的功能):

{width.*}

其他工具

PanWriter:一个基于 Pandoc 的 Markdown 编辑器,能够通过 GUI 的方式实现 Pandoc 的部分文档转换功能。

Marker:一个开源的命令行工具,将 PDF、EPUB、MOBI 文档转成 Markdown 文件,必要时会进行 OCR(文字识别)。

参考

Pandoc 从入门到精通,你也可以学会这一个文本转换利器 – 少数派

《Pandoc 中文文档教程 – 用户帮助手册 - 指南(WIP)》– 极客文档

原文地址: Markdown 转 Word/PDF/HTML 全攻略:一键搞定所有格式转换!

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-11-03发表,共计2080字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)