如何私釀電子書

買紙本書將其電子化,這個過程一般叫作「掃描」,日本人稱之為「自炊」,好像買食材來自己煮。書籍掃瞄算不上新鮮事,網路上有許多部落格從裁書到掃描教學十分詳細,最後通常會得到一個PDF檔,適合放到平板上看。曾有網友來信說自己有TB數量級的PDF電子書,在我看來十分硬蕊。

不過,我一直沒有動念做這件事。首先,把書籍電子化在我看來不是買菜來煮,而是釀私酒。差別在於沒有人會阻止你煮菜,但釀酒在歷史上往往由法律明文禁止,或至少不會有好的社會觀感。掃描電子書也是,我們都明白這是「重製」,電子化後的書籍輕易就能複製、傳播。任何人只要稍微對著作權有點概念,都會擔心自己會一不小心就犯了法,侵害到作者的權利。

再者我不能接受PDF。我現在的主力閱讀裝置是iPhone SE,在四吋螢幕上開A5大小的PDF絕對體驗很差,想都不敢想。雖然這麼說,我也深知製作高品質EPUB電子書有多困難,若是苟且一點導致品質不夠高,讀書時看到錯誤又心裡難受,不改正不舒服。考慮再三,還是算了,不找自己麻煩。

另一方面,所有愛書人都會遇到一個實際問題:書櫃爆滿。不僅書櫃爆滿,可能連書桌、床頭、茶几以至於地板都裝不下不斷增生的書籍。所以說,電子書的重度用戶其實就是有大量閱讀習慣的讀者,這是自然而然的事。

我的書櫃早就爆滿了,再多一本書也塞不進去,偏偏想看的書常常不出電子版,買了紙本書卻因為閱讀習慣改了,最後往往堆著沒看,加上真正喜歡的書就算看完了也會收藏起來⋯⋯我想這樣下去不行,會被買了卻沒看的書淹沒,買書難道為了養蠹蟲和蟑螂?

終於我開始嘗試私釀電子書,就從手上最多的文字書開始。首先,有三個規範:

  1. 不破壞書

    我將書籍電子化,為的是讀書,不是討厭紙本書。雖然空間不夠了很令人困擾,但我還是喜歡書本,不想隨意破壞,畢竟那才是作者藉由出版流程製作出的直接產品。若是本來就買電子書,則另當別論,出版社有責任幫讀者做好精美的(作為主產品的)電子書。如今我所要私釀的電子書是基於原產品的二度產品,它的位階應該次於原本的書籍。

  2. 不另外購買掃瞄器

    因為掃瞄器通常很醜。也因為沒空間擺機器。更因為既然是私釀,我要盡量利用手邊現有的工具,越簡陋、越窮酸越好。特別弄一台掃瞄器實在太方便了,對不起良心。

  3. 成品必須是可註記的高品質EPUB

    否則看不下去。另外,我用Calibre管理書籍用iBooks看書

那麼,以下是我的釀法:

  1. 手機作為掃描器

    要製作高品質的電子書,掃描品質應該是最重要的一環。掃描品質越高,後期製作所耗的力氣越少。可是,我既不願意使用專用掃描器、也不願意破壞書,又想快速取得清晰的圖像,十分貪心。最後決定用手機掃描。

    用便宜的手機懶人夾把手機架在書桌上方,俯瞰桌面。桌上舖一張黑布,方便手機辨別書本範圍。理想的狀態是當書本攤開時,整個跨頁都能入鏡,同時能夠稍微看到桌面的黑底。要記住:距離太遠解析度不夠高,距離太近則手機無法辨別書的範圍。

  2. 掃描軟體:Scanbot

    Scanbot是一款評價相當高的手機掃描應用,在測評網站The Sweet Setup中獲選為iOS最佳文件掃描軟體。我看上它主要有兩個理由:一、它能辨別書籍範圍,並自動連續掃描;二、它會幫忙修正圖像,加強對比。

    掃描時,我會同時開啟它的「多頁」、「照明」、「自動」模式,因此只要把手機架著就好,不必再碰它。騰出的雙手必須用來翻書,一次掃瞄一個跨頁,每翻一頁就掃瞄一次,翻完書也就等於掃瞄完畢了。雖然Dropbox和iOS內建的Notes都有專用的文件掃描功能,但兩者都遠遠不及Scanbot好用。

  3. 以章節為單位進行掃描

    先到Scanbot的設定關掉它的文字辨識功能(OCR),它辨識中文的能力不堪使用,而且會大幅延長處理文件的時間。

    以章節為單位開始翻書,稍微用點力把書張開,讓鏡頭盡量拍到平整不變形的文字。手指入鏡沒關係,但遮住字當然不行。拍完一個章節後,用Scanbot內建的編輯介面檢查成果,辨識範圍錯誤的地方手動調整。套用高對比黑白模式,方便後續辨識文字。

  4. 輸出PDF到電腦

    處理好的PDF傳到電腦或雲端,接下來要用電腦處理文件。

    如果你使用Google Drive,它本身就配備很強的文字辨識功能,只要選擇用Google Docs開啟PDF檔,就會自動辨識。掃描品質夠好的話,漢字的辨識結果也令人驚喜。不過,全形標點符號往往辨識為半形,分段的辨識也相當差,我用它釀了一本書,發現後續的處理相當耗時,有必要針對整本書進行細校,畢竟連分段都一塌糊塗,決定棄用。

  5. 文字辨識:ABBYY FineReader

    試用了幾個方案[1],最後選擇ABBYY的FineReader,不便宜,但最省事。匯入排好的PDF後,原本拍攝的跨頁會自動被切割為左右頁(所以說一開始就拍跨頁)。我用來辨識繁體中文縱排的小說,文字辨識比起Google Drive看來要更好一些,至少沒有一眼就看出來的明顯錯誤,而且分段都確實找出來了。我讓它分析文本後,剔除天地的眉標和頁碼,再讓它進行文字識別程序。

    識別好的成果輸出為純文字檔,並勾選「以一空行區隔段落」,就變成Markdown的分段格式,正合我意。由於我最後將會由Markdown純文字檔轉為EPUB,可以說到這裡已經很接近完成了,FineReader的完成度之高,出乎我意料之外,Mac App Store上也有賣。覺得貴的話不妨去下載試用版把玩看看。

    FineReader會自動分析文件,也能辨別文字走向。我只須把不想辨識的區塊移除即可。
    FineReader會自動分析文件,也能辨別文字走向。我只須把不想辨識的區塊移除即可。
  6. 細部調整純文字檔

    FineReader轉出來的純文字檔難免還是有瑕疵,以下列出較普遍的問題,隨附上我的解法:

    • 問題:書頁上的每個分行都會變成一個半形空格。
      解法:搜尋非英文字之間夾著的半形空格,以「沒有東西」取代。
    • 問題:跨頁會變成分段,即使文章順走。
      解法:利用正則運算式(Regular expression)檢查所有不是以。?」:結尾的段落,然後合併之。
    • 問題:有些符號(例如破折號)與文字無法正確辨識,可能顯示為英文字或符號。
      解法:利用正則運算式檢查所有非漢字的字符,遇錯誤則修改。
    • 問題:「濕」這個字不知為何總是辨認成「淫」。
      解法:一面偷笑,一面手動修改。

    之後便是一些製作電子書的細活,例如標示腳註。

  7. 製作電子書

    文字檔完成,電子書也可以算是完成了。我利用〈縱排印刷CSS〉學到的經驗,製作縱排EPUB電子書,文章已經太長,這裡不詳述,有興趣可以上PrintZongpai.css的GitHub頁面看看我的作法。

    簡單來說,步驟如下:每個章節加上章名(階層為<h2>)、建立元數據檔案、加上封面圖檔,最後用Pandoc輸出為EPUB。

做好的電子書先進Calibre過過水,然後丟到iBooks便大功告成。

行文時,我已釀了兩本小說、一本非虛構作品,結果還算滿意。不過,為了盡量取得精確的文字,細部調整的時間還是太長了,一本書從掃瞄到完成約要四到五個小時左右,耗時又耗力。當然也可能是我吹毛求疵的關係。

釀好了電子書,我又開始煩惱該怎麼對待原有的紙本書。賣掉肯定不行,那絕對是盜版。當垃圾回收則浪費,畢竟書還很新。再三考慮後,還是把書塞回書架了⋯⋯

也許哪一天有家人朋友來玩,看到喜歡的書可以把它借走吧。


  1. 我也試了開源後由Google主導的Tesseract OCR,看似很有潛力,但直接辨識中文的結果是場災難,還不如Google Drive。Tesseract可供訓練,但總覺得長路漫漫,試了一輪,暫且擱下。 ↩︎