首页 / 行业
如何用神器pyPandoc创建电子书
2021-10-26 09:45:00
在信息时代的我们,获取知识,提升认知如同吃饭一样,成为了必须做的事情,阅读是最常用的获取知识的方式,没用之一。
可是有时因为一些技术问题,导致我们阅读不便。
比如前几天,我想读一本 《人人都能用英语[1]》,找到了用 Markdown 写的原文,虽然可以阅读,但如何在手机上阅读,是个问题。
转为 Pdf,或者 html,虽然是可以,不过阅读起来很不方便,也记不住上次读到哪里了,更要命的是无法做笔记。
也搜了纸质书,因为这本书没用正式出版,所以也都是盗版的,就算了。
因为我经常用 多看APP 读书,如果能直接在多看上看就好了。
尝试了一圈,发现了一个好方法,现在我已经阅读过半了,体验很好,现在分享一下我的魔法过程。
# 解题思路
首先得知道,多看支持什么样的电子书格式,百度一下,特别全,为了更好的体验,决定转为 epub。
那么如何将 Markdown 转 epub 呢?一搜,发现有众多在线转服务,尝试了几个,不是收费就是各种限制,很不方便。
咱不是会编程吗?如果能自己搞岂不更好?
改变检索思路,很快发现了一个命令行工具 —— pandoc,进一步研究,发现竟然有 Python 版的 —— pypandoc,真是太棒了,研究一番,发现完全满足我的需求。
于是解决方案就是:
下载 markdown 版电子书
用 pypandoc 转化为 epub 格式
导入 多看, 阅读
开干!
# 神器出场
之所以喜欢 Python 有一个重要的原因就是安装和使用扩展很方便,几乎每个神器出场的方式都是一样的哈哈:
pip install pypandoc
友情提示:
最好创建一个虚拟环境来安装,这样不好影响其他库,也方便迁移,理解和创建虚拟环境可以参考《 最好用的 Python 虚拟环境,没有之一》
安装成功之后,可以测试一下:
》》》 import pypandoc
》》》 print(pypandoc.get_pandoc_version())
2.14.2
可见,我安装的版本是: 2.14.2
pandoc 是一个常用的软件,很多操作系统比如 Windows 可能已经内置
另外也可以单独安装,使用它的命令行工具,更多的 Pandoc 安装方式 和用法可以参考 pypandoc 说明[2] 和 Pandoc 文档[3]
# 小试牛刀
翻看 pypandoc 说明,发现有个 convert_text 方法,可以用字符串的方式提供待转化的文本。
那先写一段 markdown 试试:
import pypandoc
input = “**Hello World!**”output = pypandoc.convert_text(input, ‘html’, format=‘md’)
print(output)
显示结果如下:
《p》《strong》Hello World!《/strong》《/p》
太棒了,将 **Hello World!** 转化成了一段 html 代码了。
再试点复杂的:
import pypandoc
input = “”“
# Pandoc
Pandoc 是个牛X的工具
## 用法
- `convert_text`
- `convert_file`
”“”
output = pypandoc.convert_text(input, ‘html’, format=‘md’)
print(output)
看看输出:
《h1 id=“pandoc”》Pandoc《/h1》《p》Pandoc 是个牛X的工具《/p》《h2 id=“用法”》用法《/h2》《ul》《li》《code》convert_text《/code》《/li》《li》《code》convert_file《/code》《/li》《/ul》
换一种输出格式呢?
output = pypandoc.convert_text(input, ‘rst’, format=‘md’)
看看输出:
Pandoc
======
Pandoc 是个牛X的工具
用法
----- ``convert_text``
- ``convert_file``
最好试试转化为 ePub 格式
ePub 格式无法输出为字符串,需要存入文件,所以需要用 加入 outputfile 参数
代码如下:
convert_test(input, ‘epub’, format=‘md’, outputfile=‘test.epub’)
# 生成电子书
测试了没问题后,就转化一个 Markdown 文件试试。
对于文件,需要用 convert_file 方法:
import pypandoc
convert_file(‘everyone-can-use-english.md’, ‘epub’, ‘md’, outputfile=‘人人都能用英语.epub’)
很快就能生成一个 epub 格式的电子书。
这里需要注意的是:引用的
如果是网络上的,需要将地址换成全网址,如果是相对的,需要保持目录结构,并提前准备好。
不然将无法生成,使电子书失去一定的可读性。
生成好了之后,可以将 人人都能用英语.epub 发送到手机上,用多看打开。
之后就可以在书架里看到了
简直太棒了,可以安心的读书了!
这下岂不实现了电子书自由啦!
# 总结
今天介绍了 pyPandoc 的简单用法 pyPandoc 不仅帮助我创建了电子书,而且让我理解了 Markdown 转化为 Html 的对应关系,为进步步打造自己的写作系统奠定了基础。
Pandoc 是个强大的工具,利用好,可以帮助我们实现电子书自由,加上会 Python 编程,就更厉害了。
期望这篇文章对你有用,祝你打造出自己的电子书系统,比心!
最新内容
手机 |
相关内容
苹果即将推出Mac系列新品,或搭载3nm
苹果即将推出Mac系列新品,或搭载3nm M3芯片,芯片,搭载,推出,全新,市场,研发,近日,有关苹果即将推出新一代Mac系列产品的消息引起了广有史以来最快的半导体“超原子”能
有史以来最快的半导体“超原子”能将芯片速度提升千倍,芯片,提升,可靠性,运动,结构,集成度,在半导体技术的发展历程中,有一项被称为电路板技术水平和质量水平,影响着机
电路板技术水平和质量水平,影响着机器人赛道的发展前景,赛道,精度,支持,竞争力,可靠性,能和,电路板技术水平和质量水平对机器人赛道工业电机效率提升的关键——编码器
工业电机效率提升的关键——编码器,提升,编码器,测量,位置,转速,控制,工业电机是现代工业生产中的重要设备之一,广泛应用于各种机械创建更低延迟和更高效率的 5G 系统
创建更低延迟和更高效率的 5G 系统,延迟,系统,5G,优化,方法,网络架构,随着技术的不断发展,人们对通信系统的需求也在不断增加。5G技ASML不惧佳能纳米压印光刻机!
ASML不惧佳能纳米压印光刻机!,提升,分辨率,产品,公司,芯片,市场,佳能最近发布了一款被称为能够生产2纳米芯片的新一代纳米压印光刻机3nm,手机芯片的全新战争
3nm,手机芯片的全新战争,全新,功耗,人工智能,提升,中国,芯片,随着移动通信技术的迅猛发展,手机成为了现代人生活中不可或缺的一部分。忆阻器存算一体芯片新突破!有望促进
忆阻器存算一体芯片新突破!有望促进人工智能、自动驾驶等领域发展,芯片,自动驾驶,人工智能,模拟,神经网络,计算,忆阻器存算一体芯片