利用md文件制作pdf电子书

85阅读 · 0评论 · 2019/06/06发布   2019/06/06更新

介绍三种方法

工具准备

工具一:pandoc

  • Pandoc官网 
  • ②安装:按照官网的说明操作即可,比较简单

工具二:pypandoc

如果熟悉Python的可以考虑使用这个工具,不熟悉的话,可以不使用Python的这个库

  • 官网 https://pypi.org/project/pypandoc/
  • ②安装:按照Python扩展库的安装操作即可.

工具三:Adobe Acrobat DC

md文件转为docx

具体的使用方法建议大家阅读文档操作,毕竟每个人的需求不一样。pandoc的转换功能非常强大,而且很实用。

此外,因为将markdown文件转换位PDF文件需要安装LaTeX,但是使用过程会遇到很多麻烦,解决起来很棘手。

所以我的想法是,将markdown转换为docx文件,再合并,最后将合并好的电子书转换为PDF文件。

这样也可以省去很多不必要的麻烦。

当然其实功能还有很多很多,我也只是介绍了几个,或者根据我的需要来选择,你也可以选择其他的方法。

方法一 bat脚本

脚本封装,支持批量转换 把转换命令封装成bat批处理脚本,以后再进行转换的时候只需简单双击一下bat脚本即可,比如封装成convertPDF.bat文件,内容如下:

pandoc text.md -o text.docx && pause

批量处理:假如几十上百个md文件要批量转为docx文件,难道要手工一个个复制这些文件名和pandoc命令去转换吗?完全不需要,一个bat脚本搞定(convert.bat):

@echo off
:: 遍历当前文件夹下的所有后缀名为md的文件
for /f %%a in ('dir /b *.md') do (
    :: 执行pandoc命令把每个md文件都转为docx文件docx文件的文件名为md文件名.md.docx
    pandoc %%a -o %%a.docx
)
pause

使用方法很简单,使用文本编辑器创建一个TXT文档,然后复制上述代码进去,保存,最后退出来修改文件后缀名为.bat,将需要转化的markdown文件放到一个文件夹下,复制convertPDF.bat到该目录下,双击打开,等待转化完成。

这个时候就将markdown文件转化为docx文档了。

方法二 Pandoc

直接使用pandoc转换。

pandoc text.md -o text.docx

注:运行此代码需要进入到该目录下

  • ①Windows10 系统直接在该目录空白处,按住Shift键,然后鼠标右键,在此处打开Powershell/cmd窗口
  • win + R键打开运行窗口,输入cmd回车,然后进入该目录下,具体的操作可以谷歌。

其他的更多用法大家可以参考pandoc Demos文档 http://www.pandoc.org/demos.html

方法三 Pypandoc

使用Python进行操作。 相对来说用pypandoc还是有很多好处的,例如你可以利用这个库轻松开发出一个简单的应用,还可以利用这个库实现一些抓取网页的功能,因为pandoc可以实现下载一个web page然后转化为docx或者其他格式的文件,而pypandoc提供了pandoc的接口参数,非常方便。当然这都是对学习Python的人来说比较简单。

import pypandoc
output = pypandoc.convert_file('somefile.md', 'docx', outputfile="somefile.docx")

最简单的例子就是这样,首先进入这个文件夹或者在Python中指定文件目录,然后运行上述代码即可。要是想批量转化也是可以的,定义好相对路径,写好脚本,打包为EXE可执行文件,实现一个遍历转化markdown为docx。这里就不再写这个操作了,比较简单。

对于学习Python的同学,我还是建议使用pypandoc 的,因为可以调用Python程序。

合并docx文件

可以先转换为PDF再合并PDF,但是这样感觉不是一个完整的PDF文件,而且不够美观。所以考虑先合并docx再转PDF,这样更完美。

我们使用微软Office Word将docx文件合并

  • 首先新建一个名为✘✘✘ 的docx文件
  • 打开这个新建的文件,点击页面上方功能区的插入 选项卡下的对象文件中的文字,按照顺序选择这些docx文件,点击插入。这个时候就成功合并了所以的docx文件,并且左边是带有完整目录的,并且该目录可以定位到对应的位置。(因为md文件自带了目录)
  • 点击保存

docx文件转为PDF文件

  • 直接利用Adobe Acrobat DC在word中的插件转位PDF,点击上方功能区中的Acrobat下的创建PDF,点击保存。现在成功创建好PDF文件了。
  • 这样电子书制作完成

pandoc的其他功能

这里顺便再提一下pandoc的其他的一些功能,具体的大家可以看文档学习测试。

例如之前我提到的这本书 《Learning Scrapy》 译:《精通Python爬虫框架Scrapy》 一样是有简书翻译的 《Learning Scrapy》|简书

很不幸运的是,作者没有给出markdown源文件,我们只可以网上阅读了。为什么需要markdown源文件呢,因为markdown良好的编辑格式使得转化的时候保持了层次分明、带书签的板式,很方便我们制作电子书,节省了很多时间。

值得庆幸的是,pandoc提供了web page转化为docx的功能。

下面我们来尝试一下。

pandoc -s -r html webpageURL -o article.md

这里随便转化了一页,但是markdown下的预览很糟糕,因为很多其他多余的内容。 然后我先将其直接转化为 docx 文档,然后再将多余的内容删掉,然后修改保存。看起来效果还是很好的。

pandoc -s -r html webpageURL -o article.docx

我测试了多个页面的爬取和转化,发现效果还是很好的,这里如果使用Python的pypandoc来做,就可以做一个EXE程序了,很方便,可以实现自动输入webpagURL实现爬取,然后转化,还是很不错的体验。

更多的用法大家自行测试和思考吧,这里不再赘述了。


有其他问题下方留言




本文作者: ShibaInu
发布时间: 2019年06月06日 - 16:26
最后更新: 2019年06月06日 - 17:20
知识共享许可协议   转载请保留原文链接及作者
赞赏支持博主





登录后回复

共有0条评论