自己動手製作電子書的最佳方式(支持PDF、ePub、mobi等格式)

2021-12-27 千古壹號
前言

對於經常閱讀的人來說,製作本地電子書,算是剛需了。網上的很多教程都不太好用,所以我特地整理出一個詳細的教程。親測有效,一勞永逸。

當你意外發現某個寶藏公眾號時,想要集中閱讀上面的每一篇文章,恨不得一口氣看完,你會怎麼做呢?你可能會把它添加到「微信讀書」App 的書架上:

但上面這種曲線救國的方式並非最佳,仍然不盡人意,存在不少問題。

我知道,現在有很多的第三方服務,可以將任意公眾號的文章製作成電子書,我試過很多次,但都是付費的。一聽說要錢,你又不幹了:

再列舉一種場景:當你在 GitHub 上發現一個很全面很豐富的項目文檔時,仿佛發現了新大陸。可 GitHub 網站的的伺服器在國外,國內的訪問速度實在感人,你想要把它下載到本地查看,會怎麼做呢?你估計會直接選擇「Download ZIP」,然後用 Typora 或者 VS Code 軟體打開這個項目文檔,在本地查看:

總之,你能想到的方式,我都想到了,而且都嘗試過。

現在的需求就是,如果你經常閱讀網上的資料,肯定會有這樣一個需求:怎麼把這些幾百頁、甚至幾千頁的內容整理成 PDF、ePub、mobi 等格式的電子書呢

要麼花錢請別人做,要麼自己做。

今天這篇文章,就是來告訴你」自己動手製作 PDF、ePub、mobi 等格式電子書「的最佳方式。如果你是碼農出身,下面講的這些步驟,根本難不倒你。如果你不是碼農出身,也沒關係,只要你有一臺電腦,跟著我講的教程研究下去,肯定能搞定。

問題的關鍵不在於難不難、會不會,而是在於你是不是愛折騰

製作電子書的具體步驟 整體流程

先說一下整體步驟:

(1)安裝 gitbook 工具。

(2)安裝 calibre 軟體,配置 ebook-convert工具。

(3)將md格式的多個文件素材導出為電子書(支持 PDF、ePub、mobi 等格式)。

(4)高級進階:配置電子書的目錄、封面、頁眉頁腳等。

整理流程如下:

接下來我們看看詳細的完整步驟。

步驟 1:通過 npm 安裝 gitbook-cli

安裝命令如下:

npm install -g gitbook-cli

安裝成功之後,再執行gitbook -V命令確認是否安裝成功:

gitbook -V
CLI version: 2.3.2
GitBook version: 3.2.3

備註:如果你不知道 npm 是什麼,可以自行查閱如何安裝 Node.js 和 npm 環境

步驟 2:安裝 ebook-convert(針對 Windows 用戶)

ebook-convert 是能夠自由轉化格式的一個命令行工具,已經包含在 calibre 軟體裡面了。

(1)安裝 calibre 軟體。calibre 的官網如下:(我們可以去官網下載安裝)

https://calibre-ebook.com/

(2)在終端輸入如下命令,驗證 ebook-convert 是否能正常使用:

ebook-convert --version

如果輸入上面的命令後提示錯誤,說明你還需要將 calibre 的安裝目錄添加到系統的環境變量中。

步驟 2:安裝 ebook-convert(針對 Mac 用戶)

ebook-convert 是能夠自由轉化格式的一個命令行工具,已經包含在 calibre 軟體裡面了。

(1)安裝 calibre 軟體。calibre 的官網如下:(我們可以去官網下載安裝)

https://calibre-ebook.com/

(2)配置 ebook-convert。針對 Mac 系統,需要執行如下命令,把 ebook-convert 軟連結到 bin 目錄:

sudo ln -s /Applications/calibre.app/Contents/MacOS/ebook-convert /usr/bin

如果出現Operation not permitted異常,說明系統權限限制,此時需要配置環境變量

(3)環境變量配置:

vim ~/.bash_profile

# 將下面這兩行配置,添加到 .bash_profile 文件中
export EBOOK_PATH=/Applications/calibre.app/Contents/MacOS
export PATH=$PATH:$EBOOK_PATH

備註:可以自行研究下,在命令行環境,如何通過 vim 編輯文件。

然後刷新一下剛剛的配置:

source ~/.bash_profile

驗證ebook-convert是否能正常使用:

ebook-convert --version

步驟 3:配置電子書的目錄

本地新建一個空的文件夾,作為我們的電子書項目。文件夾的名字隨便起,但建議用英文命名。

(1)項目初始化。

在當前項目下,執行如下命令,進行初始化:

gitbook init

此時,項目下會自動生成如下兩個文件:(非常重要,必不可少

這兩個文件創建後,內容為空白,可使用 Markdown 語言自定義內容。

(2)配置電子書的目錄。

我們先把本地的 markdown 文件(也就是我們的電子書素材)放到項目中,然後在SUMMARY.md文件中配置電子書的目錄。

比如說, 我的項目中有下面這些文件:

那麼,我在SUMMARY.md文件中就要這樣配置:

# 目錄

* [README](./README.md)
* [00-前端工具](00-前端工具/0-README.md)
  * [01-VS Code的使用](00-前端工具/01-VS Code的使用.md)
  * [02-Git的使用](00-前端工具/02-Git的使用.md)
* [01-HTML](01-HTML/0-README.md)
  * [01-認識Web和Web標準](01-HTML/01-認識Web和Web標準.md)
  * [02-瀏覽器的介紹](01-HTML/02-瀏覽器的介紹.md)
  * [03-初識HTML](01-HTML/03-初識HTML.md)
* [02-CSS基礎](02-CSS基礎/0-README.md)
  * [01-CSS屬性:字體屬性和文本屬性](02-CSS基礎/01-CSS屬性:字體屬性和文本屬性.md)
  * [02-CSS屬性:背景屬性](02-CSS基礎/02-CSS屬性:背景屬性.md)
  * [03-CSS樣式表和選擇器](02-CSS基礎/03-CSS樣式表和選擇器.md)
* [03-JavaScript基礎](03-JavaScript基礎/0-README.md)
  * [00-程式語言](03-JavaScript基礎/00-程式語言.md)
  * [01-JS簡介](03-JavaScript基礎/01-JS簡介.md)
  * [02-變量](03-JavaScript基礎/02-變量.md)
  * [03-變量的數據類型:基本數據類型和引用數據類型](03-JavaScript基礎/03-變量的數據類型:基本數據類型和引用數據類型.md)

製作成的目錄,將會是下面這種效果:

步驟 4:導出電子書

(1)本地預覽電子書:

gitbook serve

執行上方命令後,工具會對項目裡的 Markdown 格式的文件進行轉換,默認轉換為 html 格式,最後提示 Serving book on http://localhost:4000。

我們打開瀏覽器輸入http://localhost:4000,預覽一下電子書的效果:

(2)製作並導出電子書。接下來就是見證奇蹟的時刻

生成 PDF 格式的電子書:(PDF 是最常見的文檔格式)

gitbook pdf ./ ./mybook.pdf

生成 epub 格式的電子書:(epub 是最常見、最通用的電子書格式)

gitbook epub ./ ./mybook.epub

生成 mobi 格式的電子書:(mobi 格式可以在 kindle 中打開)

gitbook mobi ./ ./mybook.mobi

上面這三種格式的電子書生成之後,項目裡會看到這三個新增的文件:

我們把電子書打開,驗收一下成果。

打開 pdf 電子書看看效果:

打開 epub 電子書看看效果:

怎麼樣,自製電子書就這樣做好了,是不是很有成就感?

製作電子書的高級配置

電子書做好之後,我猜你肯定想進一步做個性化配置,比如:怎麼加封面?怎麼修改頁眉頁腳?還有其他的一些配置。

我們來看看親手製作的電子書,有哪些常見的高級配置。

製作書籍封面

為了讓書籍顯示得更加優雅,我們可以指定一個自定義的封面。操作如下:

在項目的根目錄下準備好 cover.jpg (大封面)和 cover_small.jpg (小封面)這兩種封面圖片。注意,圖片的文件名和後綴名必須嚴格按照這句話來。

GitBook 的官方文檔建議:cover.jpg (大封面)的尺寸為 1800x2360 像素,cover_small.jpg(小封面)的尺寸為 200x262 像素。圖片的製作,建議遵循如下規範:

book.json :電子書的各種配置

我們可以在項目的根目錄下新建一個文件book.json(注意,文件名是book,後綴名是json),這個book.json就是電子書的配置文件,可以在裡面填一些常見的配置。

關於 book.json 的配置項有很多,我們可以在網上搜索「GitBook book.json」找到。這裡大致列舉一些。

1、常規配置如下:

配置 book.json 的示例如下:

{
    "title": "前端入門和進階圖文教程",
    "description": "前端入門到進階圖文教程,超詳細的Web前端學習筆記。從零開始學前端,做一名精緻優雅的前端工程師。公眾號「千古壹號」作者。",
    "author": "千古壹號",
    "language": "zh-hans",
    "gitbook": "3.2.3",
    "root": "."
}

備註:上面的root根目錄為當前目錄,使用默認的就好,此項可以刪掉,這裡僅做演示。

2、pdf 的配置如下:(使用 book.json 中的一組選項來定製 PDF 輸出)

配置項描述pdf.pageNumbers將頁碼添加到每個頁面的底部(默認為 true)pdf.fontSize基本字體大小(默認是 12)pdf.fontFamily基本字體樣式(默認是 Arial)pdf.paperSize頁面尺寸,選項有:a0、a1、 a2、 a3、a4、a5、a6、b0、b1、b2、b3、b4、b5、b6、legal、letter (默認值是 a4)pdf.margin.top上邊距(默認值是 56)pdf.margin.bottom下邊距(默認值是 56)pdf.margin.left左邊距(默認值是 62)pdf.margin.right右邊距(默認值是 62)

定製 PDF 文檔輸出格式的示例代碼如下:

{
    "pdf": {
        "pageNumbers": false,
        "fontSize": 12,
        "paperSize": "a4",
        "margin": {
            "top": 36,
            "bottom": 36,
            "left": 62,
            "right": 62
        }
    }
}

備註:如果你不需要對輸出的 pdf 做任何特定的配置,則不需要添加上面的內容,讓 pdf 的輸出格式保持默認就好。

3、plugins 插件:

插件及其配置在 book.json 中指定,讓電子書的配置能力更加強大。

通過插件,我們可以做很多事情,比如:修改頁眉頁腳、自動生成並顯示圖片的標題等。

另外,針對在線版的 GitBook 電子書,也有很多插件,這裡列舉幾個:

自帶的 search 插件不支持中文搜索,使用起來非常不方便,還好search-pro插件橫空出世,讓搜索功能煥發出新的生機。插件地址:地址:https://github.com/gitbook-plugins/gitbook-plugin-search-pro默認側邊欄寬度是不能夠調節的,如果想通過拖拽的方式自由調節側邊欄寬度,可以使用插件splitter。插件地址:https://github.com/yoshidax/gitbook-plugin-splitterdonate 插件支持定義和顯示支付寶和微信打賞。插件地址:http://github.com/willin/gitbook-plugin-donate

關於插件的具體配置,感興趣的同學可以自行研究下。

自動生成目錄(重要)

如果你的電子書素材裡有很多 markdown 文件,那麼,如何將多個 markdown 文件的文件名,在SUMMARY.md裡快速生成對應的目錄?

難道要一個一個地手動 copy 嗎?這不可能。

說白了,這個需求就是:如何自動生成電子書的目錄?改變世界的程式設計師用「腳本」就能搞定,一鍵執行。

網上有很多好用的腳本,我給你推薦一個親測好用的腳本:

GitBook 自動生成目錄的腳本:https://github.com/fushenghua/gitbook-plugin-summary

操作方法很簡單,把上面這個連結中的項目下載下來,進入到這個項目的目錄,執行 $ python gitbook-plugin-summary.py dirPath 即可自動生成電子書的目錄,親測有效。備註:這裡的dirPath指的是你的電子書目錄的絕對路徑。

對了,在執行上面這個腳本之前,記得先安裝 Python 環境。

電子書用什麼軟體打開 用什麼軟體打開 PDF

Windows 平臺:可以用「福昕閱讀器」或者「Acrobat Reader DC」。「福昕閱讀器」既有 Windows 平臺,也有 Mac 平臺。

Mac 平臺:可以用自帶的「預覽」打開。

其實,不管你用的是 Windows 電腦還是 Mac 電腦,你都可以用 Chrome 瀏覽器打開 PDF。

iPhone 或 iPad 平臺:可以用自帶的「iBooks」打開,或者用「WPS Office」打開。也可以用第三方軟體「GoodReader」,不過需要 40 人民幣。

Android 手機:可以用「WPS Office」等第三方辦公軟體打開。

用什麼軟體閱讀 ePub 電子書

Windows 平臺:可以用「calibre」軟體閱讀 epub 電子書。

Mac & iPhone & iPad 平臺:用自帶的「iBooks」閱讀即可。iBooks 可以非常方便地對電子書進行標註和搜索,無疑是體驗最好的 ePub 電子書閱讀軟體。

Android 手機:可以用「多看閱讀」App 來閱讀 epub 格式電子書。

用什麼方式閱讀 mobi 電子書

kindle 電子書有兩種常見的電子書格式:「mobi」格式和「azw3」格式。

針對 mobi 格式的電子書,你既可以通過郵件的形式將其發送到 kindle 閱讀器(可以自行網上查一下相關教程),也可以將其拷貝到 kindle 閱讀器(是連接 usb 進行拷貝)。

針對 azw3 格式的電子書,就只能通過拷貝的形式(是連接 usb 拷貝)傳輸到 kindle 閱讀器。

小結

我在 2017 年 1 月寫過一篇電子書科普的文章,快三年過去了,如今回過頭來看,那篇文章一點也不過時,不妨看看:《電子書有哪些常見格式?以及該怎樣閱讀它》

最後一段

如果你一時半會兒找不到可用的素材來製作電子書,可以拿我的項目練練手。項目地址:

https://github.com/qianguyihao/web

我用上面的項目製作成了一個電子書。在「千古壹號」的公眾號後臺回復「pdf」,給你看看我製作的電子書效果。

不瞞你說,這篇文章,我在一年多以前就寫好了初稿並放在了 GitHub 上,當時專門折騰過一次。

最近幾天,我突然又有了製作電子書的需求。一年多過去了,我還以為有啥新的方法可以試試,然而我在網上找了一圈,好用的方法還是沒變。所以,我今天整理一下發出來,希望讓更多人看到。

其他的各種自製電子書的方法我都試過了,都不太好使,唯獨 GitBook + calibre 是最佳選擇,信我沒錯!

參考連結

GITBOOK 使用:https://kuang.netlify.app/blog/gitbook.html

GitBook 製作 Kindle 電子書詳細教程:https://github.com/fushenghua/gitbook-plugin-summary/blob/master/gitbook-guide.md

gitbook-plugin-summary 工具(自動生成目錄):https://github.com/fushenghua/gitbook-plugin-summary

gitbook-plugin-atoc(自動生成目錄的插件):https://github.com/willin/gitbook-plugin-atoc

自動生成目錄:https://github.com/mofhu/GitBook-auto-summary

使用 Gitbook 打造你的電子書:https://juejin.im/post/6844903793033740302

書籍《了不起的 Markdown》的第 8 章:自由地寫作——GitBook

gitbook 的 book.json 配置示例:https://blog.ujwd.cn/archives/349

關於更加詳細的 book.json 文件配置:https://zhousiwei.gitee.io/mybook/notes/gitbook_config.html

GitBook 簡明使用教程:https://www.phpjieshuo.com/archives/153/

gitbook 入門教程之導出電子書:https://juejin.im/post/5caa0fb46fb9a05e5a2e53b3

GitBook 插件整理 - book.json 配置:https://www.cnblogs.com/mingyue5826/p/10307051.html

如何把 Markdown 文件批量轉換為 PDF(不好用):https://sspai.com/post/47110

相關焦點

  • 電子書三種常見格式詳解: pdf,epub,mobi
    epub(Electronic Publication的縮寫,意為:電子出版),優點是文字內容可以根據閱讀設備的特性,以最適於閱讀的方式顯示,如下圖。蘋果設備(Mac、ipad、iPhone)自帶的圖書(iBooks)app就可以打開epub格式電子書。iBooks也是我迄今用過的最好閱讀app。
  • 雲家樂讀書 mobi,pdf,txt,epub Kindle 電子書下載 2017最新(更新中)
    歡迎來到雲家樂讀書網站,在這裡小編為講為大家整理分享mobi,pdf,txt,epub 電子書下載,希望大家能找到自己需要的Kindle電子書 。如果你需要某本電子書,請關注公眾號:kindle大玩家 。說出書名,給kindle大玩家留言。小編將每天晚上回復大家。祝大家閱讀愉快!
  • 智慧型手機閱讀epub格式電子書指南(修訂版)
    尼採對報紙的出現怒不可遏,認為忙亂廉價的「短暫之物」取代了「永恆之物」。然而正是報紙、影像、網絡、電子化的普及,讓人類的文化空間拓展而非枯萎。高爾基曾經說過:「書籍是人類進步的階梯」。那麼電子書就是人類進步的電梯。
  • 智慧型手機閱讀epub格式電子書指南
    在這裡末學根據幾年來的製作、閱讀電子書經歷,再彙編一些網上資料給大家分享在手機閱讀的經驗。文章內容基於iOS作業系統,適用於iPhone、 iPod touch和iPad,Android系統的操作也大同小異。一、電子書的格式 現在大多數電子書都是mobi和epub格式的,mobi格式是Kindle閱讀器所特有的,而Epub格式則是行業標準。
  • 一文看懂epub、mobi、azw(3)、kfx格式的區別
    剛剛接觸 kindle 的同學對 kindle 支持的各種電子書格式通常是雲裡霧裡,即便是一些老用戶也只是對 mobi 和 azw3 格式一知半解,而網上很多相關的文章僅僅是很籠統地講這些格式的特點,看完以後也很難對這些格式有一個具體的認知。
  • 安卓手機閱讀器(pdf+epub+mobi+azw3)
    常常有人問我,pdf+epub+mobi+azw3這些電子書格式用什麼軟體可以打開。今天推薦一個強大的安卓手機電子書閱讀軟體。
  • 測試了8款mobi和epub電子書閱讀軟體
    測試緣由一來是因為三娃已經收集了1.4T的電子書籍,既然有這麼多的電子書,那不配上一款好的閱讀軟體,實在是罪過啊!功能支持高亮標記,添加注釋,切換背景顏色,更改字體大小,字體樣式,頁面布局更改,不過這些格式已經不能導入了,僅支持mobi、和epub格式導入。
  • 電子書格式轉換 EPUB Converter
    轉換mobi格式到txt、epub目前我們紙雪的Kindle推送服務,默認格式是mobi
  • iPhone如何向iBooks中添加電子書?(epub和pdf電子書)
    iBooks是一款iPhone平臺上最好的閱讀器了,不但可以直接從iBooks的書庫中下載圖書,還可以添加從網上自己下載的epub格式和pdf格式的電子書。本教程就是介紹iPhone或iPAd向iBooks中添加電子書的方法。
  • 讀者必看:電子書有哪些常見格式?電子書的格式轉換和各種閱讀器的選擇問題!
    epub格式介紹epub格式是一種通用的電子書格式,其實它才是最常見的電子書格式。epub 是「Electronic Publication」的縮寫,意為「電子出版」。我不需要對epub格式介紹太多,反正你也記不住,也沒必要記住。你只需要知道:如果是在電腦或手機上看電子版圖書,請儘量看epub格式的。
  • 1分購:哈利波特Harry Potter英文電子書1-7全集(epub+azw+mobi+pdf+rtf+mp3音頻)
    電子書介紹文件類型(File type):epub+azw3+mobi+pdf+rtf+mp3大小(Size):1.3GB(有聲書AUDIOBOOKS1,25 GB 124小時36分18秒 124 hours 36 minutes 18 seconds )比特率(Bit rate ):24 kbps下載方式(Download mode
  • 如何自製MOBI/EPUB格式漫畫電子書 | Kindle漫畫製作教程
    我們可能有自製漫畫的需求,本文就講解下 Kindle 漫畫製作過程,將漫畫圖片製作成適合各種電子設備閱讀的 MOBI、EPUB 等格式漫畫電子書。自製漫畫教程首先準備好漫畫源圖片等素材資源,大多為壓縮包或圖片文件夾的形式,自行搜索下載。
  • 常見各種電子書格式的正確打開方式
    epub格式:電腦:SumatraPDF、Neat Reader、Adobe Digital Edition、Calibre
  • 下載什麼格式的電子書比較好?順帶推薦一波好用的閱讀軟體
    epubepub是一種通用的電子書格式,epub是一個裝著網頁的文件夾,Chrome瀏覽器能順利打開epub;
  • 電子書有哪些常見格式?以及該怎樣閱讀它
    epub格式介紹epub格式是一種通用的電子書格式,其他它才是最常見的電子書格式。epub 是「Electronic Publication」的縮寫,意為「電子出版」。我不需要對epub格式介紹太多,反正你也記不住,也沒必要記住。
  • ePUB電子書簡介
    今天小圖給大家介紹一下一種非常優秀的數字圖書資源格式ePUB:ePUB(英語Electronic Publication的縮寫,電子出版)是一種電子圖書標準,由國際數字出版論壇(IDPF)提出;其中包括3種文件格式標準(文件的附檔名為.epub)①。ePUB是一個自由的開放標準,屬於一種可以「自動重新編排」的內容;也就是文字內容可以根據閱讀設備的特性,以最適於閱讀的方式顯示。
  • pdf轉mobi怎麼實現?教你通過在線的方式快速轉換文檔格式
    pdf轉mobi怎麼實現?很多小夥伴為了不浪費時間喜歡在空閒時間利用一些閱讀器看書來陶冶情操,也不乏發現電子書資源通常會封裝成pdf格式,但是為了更好的閱讀通常會進行pdf轉mobi處理。然而很多小夥伴並不知道如何去實現pdf轉mobi,接下來通過在線轉換的方式教你快速轉換手中的文檔。
  • 教你製作蘋果手機格式電子書(iPhone手機電子書格式)
    蘋果手機就是iPhone手機啦,很多朋友不太了解iPhone手機能支持什麼格式的電子書。其實iPhone閱讀的電子書格式是與軟體相關。不過免費而且最好的還應該是蘋果公司自己出的iBooks軟體。iBooks支持ePub格式和PDF兩種電子書格式,下面就教大家如何製作epub格式的電子書。一般來說,我們閱讀的電子書都封面、簡介和內容。很多網站都提供txt版本的電子書,下面icech用逐浪大神無罪的小說《通天之路》來製作一個epub格式的電子書。
  • word、PDF或圖片文檔如何製作成翻頁電子書
    使用友益文書軟體9.5.1版可以輕鬆把圖片、pdf、word格式文檔製作成翻頁電子畫冊或電子雜誌(電腦閱讀exe格式或安卓手機apk格式電子書或可微信分享的網站式電子書)。
  • 如何在手機上閱讀epub格式的電子書(轉載)
    如何在手機上閱讀epub格式的電子書相信很多小夥伴在網上下載電子書時會接觸到epub這個格式。epub這種文件格式很受大家的歡迎,通常是將電子書的各章節分開然後統一到一個文件中去,閱讀起來非常方便。但是epub格式的電子書在手機上無法直接打開閱讀,我們可以藉助閱讀器軟體在手機上打開,那麼具體如何操作,以安卓手機為例,詳細教程看這裡:1去應用商店下載一個支持epub格式的閱讀器,我下載的是neat reader(一般應用商店都有,手機自帶應用商店和應用寶都可以)