:::

不拆書的自烹PDF電子書:免費軟體Scan Tailor的方案 / How to convert scanned pages into PDF with Scan Tailor and freewares

image

將書本掃描圖檔做成電子書的時候,左右頁面的切割、角度的轉正等問題總是令人難以處理,而如何做成PDF也是一個問題。我找了許多方法之後,歸納出1. 掃描書本、2. 以Scan Tailor裁切與轉正、3. 以XnView MP修正圖片、4. 以Bullzip PDF Printer製作PDF、5. 以PDF-XChange Editor為PDF加入OCR、6. 以ORPALIS PDF Reducer縮減PDF檔案大小,透過共6個步驟與免費軟體來製作電子書的做法。


Phase 1. 掃描書籍為電子檔 / Scan book to image file

掃描書籍為電子檔的方法很多。便宜的方案有平臺式掃描機、手持式掃描機。前者每次掃書時都要翻頁,而且選擇範圍、裁切、轉正等功能薄弱,效率不彰;後者其實真的很難掃描書本,光是要手持順利滑完掃描範圍都需要技術,效率更差。

image

昂貴的方案則是使用平床式掃描機,例如這臺SMA 21平床式掃描機。它的兩頁書本掃描模式可以有效減少書本左右頁面的高度差異,掃描時可以準確貼近平面。而且掃描時也不用拿書、壓書,掃描時效率快很多。缺點就是非常昂貴,然後這臺也不會有自動翻頁功能!

感謝學校提供的豐富資源,我主要都是用SMA21平床式掃描機來掃描。掃描機的主要操作方式請看我之前的文章,在此就不再贅述了。如果讀者有其他種好用的方法,也請在下面留言處推薦喔。

掃描結果 / Scanned Page

最後掃描出來的結果如下圖所示,這也是這一篇文章主要處理的對象。

Scanned Image

由於這本書已經破破爛爛了,所以掃描結果並不能完美地僅抓到左右頁的內容,而連帶後面幾頁也掃描了進來。而且左頁面也稍微有點右斜,並不太正。這種偏斜都會影響到後續OCR的正確程度,所以我們必須要先將這種掃描頁面做些處理。


Phase 2. 使用Scan Tailor裁切、轉正頁面 / Use Scan Tailor to split and deskew pages

logo_h300-fs8

接下來我們要用Scan Tailor來做裁切與轉正頁面的動作。

請依據你電腦是32位元或64位元來選擇合適的Scan Tailor版本安裝,安裝之後請開啟該軟體。

2015-07-10_215114

Scan Tailor的功能有6個步驟,包括1. 修正方向、2. 分割頁面、3. 糾偏、4. 選擇內容、5. 邊距、6. 輸出。幾次摸索之後,我主要只使用分割頁面與糾偏兩個功能,其他步驟則是用固定的參數與設定來略過。以下我一步一步介紹操作的教學。

Step 1. 建立新專案 / Create new project

Scan Tailor會將一個批次處理視為一個專案(Project),因此我們必須先建立新專案。

image

進入「檔案」 > 「建立新專案」。

image

看到跳出的「專案檔案」視窗,在「輸入目錄」後面點選「瀏覽」。

image

選擇存放掃描頁面的目錄。

image

「專案中的檔案」會出現掃描頁面的檔案。在本文中我僅以一個檔案作為例子而已,所以只載入一個。通常在掃描整本書的時候,都會出現上百個檔案。確認無誤之後按下「OK」。

image

接下來會看到Scan Tailor的視窗主畫面出現了待處理的掃描頁面,而我們也進入了「1. 修正方向」的處理階段。但一般來說掃描完方向應該都是正確的,所以我們忽略修正方向階段,點選「2. 分割頁面」進入下一個階段。

Step 2. 分割頁面修正方向 / Split Pages

image

進入「2. 分割頁面」之後,先按下箭頭圖示image,Scan Tailor會以自動模式來切割頁面。分析完畢之後,頁面會以左藍右紅的形式來顯示,如上圖所示。

image

大多時候Scan Tailor的判斷都很準,但如果頁面上有更明顯的直線,且接近中間的時候,Scan Tailor有時候會判斷錯誤。上圖左頁與右頁的分割線判斷錯誤,實際上頁面分割的地方應該右邊一點。

image

這時候可以直接拖曳藍色的切割線來改變位置,或是拖曳上下的藍色圓球來改變角度。

請以鍵盤的Page Down與Page Up來檢查每一個頁面是否都有正確分頁。確認完成之後,再按左上角的「3. 糾偏」來進入下一階段。

Step 3. 糾偏 / Deskew

image

在糾偏階段一開始,我們一樣先按下箭頭圖示image來讓Scan Tailor自動處理糾偏。在此時我們可以注意到頁面已經被切割成左右兩頁。

image

處理完成之後,可以看到中間的主視窗裡面有多個方格參考線,以及可以調整角度的藍色小球。我們可以用滑鼠中鍵來放大與縮小頁面,然後用捲軸來控制位置。放大之後可以觀察看看頁面的橫線有沒有對齊參考線,以此來確定是否頁面已經轉到水平的角度。如果角度沒有轉得很正確,你也可以手動拖曳小圓球來轉正。

Scan Tailor的糾偏正確性很高,這一階段我大多都讓Scan Tailor自動處理。如果遇到自動處理無法判斷的角度,Scan Tailor會停在該頁,讓你手動調整角度。

確認沒問題之後,點選「4. 選擇內容」進入下一階段吧。

Step 4. 選擇內容 / Select Content

image

Scan Tailor的選擇內容功能並不好用。上圖是Scan Tailor自動判斷的選擇內容,大部分資訊都被忽略了。與其如此,我寧願保留頁面全部的內容。很遺憾的是,Scan Tailor並沒有選擇頁面全部內容的選項,不過我可以修改專案檔案來讓Scan Tailor每一頁都選擇全部內容,請照著以下步驟進行吧。

image

首先先按下「手動」,然後按下範圍中的「套用到…」。

image

選擇「所有頁面」,按下「OK」。

image

按下批次處理的箭頭圖示image,等待Scan Tailor把頁面全部判斷完畢。

image

這時候每一頁判斷的位置應該都跟第一頁一樣,很奇怪,但沒關係,我們繼續下一步驟。請按下「檔案」中的「儲存專案」。

image

找個位置儲存,輸入一個檔案名稱,例如「20150710」,按下「Save」儲存。這時候Scan Tailor專案的檔案名稱為「20150710.ScanTailor」,副檔名很長喔。

接下來在上面的檔案表單中選擇該檔案。

image

選擇完之後會自動跳出調整後的專案檔案,請覆蓋掉原本的專案檔案。

image

再回到Scan Talior,選擇「檔案」中的「開啟專案」。

image

這時候會有一個警告視窗問你是否要儲存專案,按「Discard」表示不儲存。

image

選擇剛剛覆蓋之後的專案檔案,按下「Open」開啟。

image

再跳到內容,你可以發現所有的頁面都選擇了全滿的內容。

這樣子選擇內容階段就算是完成了,讓我們點選「5. 邊距」進入下一階段。

Step 5. 邊距 / Margin

image

「5. 邊距」中,Scan Tailor會在頁面加入額外的空白,但我並不使用這個功能,因此以下設定是關閉邊距的做法。

image

首先在左邊「邊距」的上下左右的數字設為0。接著按下「套用到…」。

image

在「套用邊距設定」中,選擇「所有頁面」,按下「OK」。

image

然後「對齊」的「與其他頁面大小相同」取消打勾。接著按下「套用到…」,選擇「所有頁面」。

最後按下批次處理的箭頭圖示image,讓所有頁面都沒有多餘的邊距。然後按下「6. 輸出」來進入下一階段。

Step 6. 輸出 / Output

image

在「6. 輸出」階段中,Scan Tailor預設是用600 dpi與黑白模式來輸出,但我偏好使用300 dpi與灰階模式,請以下列步驟來進行調整。

image

點下「輸出解析度(DPI)」中的「變更…」。

image

將「DPI」調整為「300」,選擇「範圍」中的「所有頁面」,按下OK。

image

然後在「模式」中選擇「彩色/灰階」,接著按下「套用到…」按鈕。

image

選擇「所有頁面」,按下「OK」。

image

最後按下批次處理的箭頭圖示image,這時候Scan Tailor會花點時間來輸出最後結果。

Step 7. 輸出的檔案 / Output files

image

最後處理完成的頁面會放在掃描頁面檔案底下的「out」資料夾中,原本的檔案會被切割成左頁面L與右頁面R。

下一步是什麼? / What is NEXT?

雖然Scan Tailor將掃描的頁面切割與轉正了,可是輸出的檔案格式卻是未壓縮的TIFF格式,檔案大小非常的大。我們需要再做些後續的處理。


Phase 3. 使用XnView MP校正與轉換圖片 / Use XnView MP to adjust and convert pages

圖片批次處理工具 / Image batch convertor

app-xnviewmp-512

XnView MP是一個免費、跨平臺的圖片瀏覽與簡易處理工具,能夠批次處理大量圖片,是我日常使用的圖片瀏覽器。這次我們也要用XnView MP來處理Scan Tailor處理後的頁面。

image

安裝好XnView MP之後,我們用XnView MP開啟Scan Tailor轉換好的out資料夾,可以看到剛剛處理完的圖片。接下來我們要用XnView MP批次轉換的功能來做進一步的處理。

Step 1. 選擇圖片 / Select pages

image

請按下「編輯」的「選擇所有圖片」。

image

這時候圖片檔案會處於選擇狀態。

Step 2. 批次轉換 / Batch convert

image

接著進入「工具」的「批次轉換…」。

image

格式選擇「JPG – JPEG/JFIF」,選項中勾選「刪除原始」,然後切換到「Actions」分頁來新增要處理的動作。

Step 2.1. 自動色階 / Auto Levels

image

自動色階是將圖片中最暗的地方設為黑色、最亮的地方設為白色,中間的顏色則按比例自動調整。

在Actions分頁中,請按下「Add action」、選擇「對映」中的「自動色階」。

以下是轉換前跟轉換後的比較,可以發現轉換後明顯較量,字也比較黑白分明了:

轉換前 轉換後
image image
Step 2.2. 改變顏色深度 / Change color depth

如果書頁沒有彩色圖片,那我們可以利用改變顏色深度來將圖片轉換成灰階。

image

在Actions分頁中,請按下「Add action」、選擇「圖片」中的「改變顏色深度」。

image

選擇「灰階」,深度用預設的「256」即可。

Step 2.3 調整大小 / Adjust size

接下來我們要縮小圖片的尺寸,以降低最後PDF的檔案大小。

image

在Actions分頁中,請按下「Add action」、選擇「圖片」中的「調整大小」。「寬度」與「高度」設為1000像素,勾選「保持比例」,「放大/縮小」選擇「只縮小」。

Step 3. 開始轉換 / Start convert

image

設定完畢之後,按下右下角的「轉換」來開始轉換。

image

由於先前勾選了「刪除原始」,所以會跳出一個「'刪除原始檔案'選項已啟用,要繼續嗎?」的警告,請按「是」繼續。

image

接著XnView MP會花點時間進行批次轉換,轉換完成之後會看到「Total Duration: 0秒」之類的訊息。這時候請按下「取消」來離開批次轉換功能。

image

就這樣子,書頁的圖片檔案就處理完成囉。

下一步是什麼? / What is NEXT?

不過一頁一頁的圖片檔案不好閱讀,而且也不能像PDF一樣進行標註,因此接下來我們要把這些書頁轉換成一個PDF檔案。


Phase 4. 使用Bullzip PDF Printer製作PDF檔案 / Use Bullzip PDF printer to convert pages to PDF file

PDF轉檔工具 /  PDF Convertor

image

將圖片轉換成PDF的方法很多,羅正漢在2010年比較過6種免費的PDF轉檔工具,優缺點不一,但我個人比較偏好使用的是Bullzip PDF Printer。

image

Bullzip PDF Printer會在電腦上安裝一臺虛擬的印表機,從這個印表機中印出的檔案就會變成PDF。重灌狂人有詳細介紹過Bullzip PDF Printer,在此就不再贅述。

接下來我們就用XnView MP來將掃描的頁面印成PDF檔案吧。

Step 1. 選擇圖片 / Select pages

image

跟之前一樣,請按下「編輯」的「選擇所有圖片」,將預備要列印的圖片選取起來。

Step 2. 列印 / Print

image

進入「檔案」的「列印」。

image

先將「頁面佈置」換成「單頁 - 裁切成頁面大小」。接著進入到「頁眉/頁腳(標頭/標尾)」分頁。

image

在「頁眉/頁腳(標頭/標尾)」分頁中,取消勾選「頁腳(標尾)」,不要加入頁碼。然後按下左下角的「列印」。

image

選擇「Bullzip PDF Printer」印表機,然後按下「Print」。

Step 3. 選擇PDF儲存位置 / Select PDF file location

image

接下來會跳出Bullzip PDF Printer的對話視窗,請設定裡面的File Name欄位,按下「…」按鈕來選擇PDF檔案要儲存的位置以及檔案名稱。確定後按下「Save」按鈕。

image

列印完成之後會自動開啟,這就是從圖片轉換成PDF的成果了。

但是因為Bullzip PDF Printer是採用列印的方式製作PDF,對記憶體與硬碟空間的要求非常地高。當圖片數量過多的時候,就很有可能會製作失敗,這是需要注意的地方。

下一步是什麼? / What is NEXT?

image

不過這樣的PDF並不能選取裡面的文字,我們難以用這個PDF進行劃線、標亮等標註的動作。所以我們還要用OCR的功能來讓這個PDF更好用。


Phase 5. 使用PDF-XChange Editor製作OCR的PDF檔案 / Use PDF-XChange Editor to add OCR into PDF file

什麼是OCR? / What is OCR?

OCR是光學字符辨識的縮寫,簡單來說,就是從圖片中找出文字資訊,並把它轉換成電腦可以讀懂的文字的功能。早期的OCR只是將圖片中抽取出純文字,但是現在PDF的OCR則是在背景圖片上加上一層OCR辨識結果的文字層,讓OCR辨識結果能跟原始的圖片很好的結合在一起。目前OCR對英文辨識率較高、中文的辨識率相當低,OCR並不能夠完整取代文字騰打,但是用在劃線、標亮等標註功能上倒是十分好用。

OCR使用的PDF工具 / PDF tool for OCR

Editor_Box1(3923)_152x162

Tracker Software Products推出了很多PDF相關的工具,許多免費的版本卻具有跟收費Adobe Acrobat Pro一樣的功能,其中PDF-XChange Viewer更是PDF使用者必備的知名工具,詳情可以看重灌狂人的介紹。雖然PDF-XChange Viewer也有OCR功能,但是我最近比較偏好使用介面採用Ribbon設計、操作更方便的PDF-XChange Editor。

同時我們還要安裝OCR多語言擴充包:

image

全部安裝之後再開啟PDF-XChange Editor,然後請按照下述步驟操作。

Step 1. 開啟檔案 / Open File

image

點選開啟按鈕,選擇剛剛使用Bullzip PDF Printer轉換的檔案。

image

接下來要來製作OCR。

Step 2. OCR頁面 /  OCR pages

image

進入「文件」的「OCR頁面」。

image

在「辨識」中選擇主要語言,此書的內容是正體中文,因此我們選擇「Chinese (Traditional)」,「正確度」選擇「High」,然後按下「確認」。

如果主要語言裡面沒有出現Chinese (中文),那可能是尚未安裝OCR多語言擴充包,或是裝完之後沒有關閉PDF-XChange Editor再重開。請關閉PDF-XChange Editor,安裝OCR多語言擴充包,然後重新打開PDF-XChange Editor即可。

image

OCR需要花上許多時間,請耐心等候。

image

OCR結束之後,頁面的文字就可以選取與複製了。但複製文字的正確性不高,請不要指望它真的辨識的很準。

Step 3. 儲存OCR結果 / Save PDF with OCR

image

按下儲存的圖示,就可以將具有OCR的PDF儲存。

下一步是什麼? / What is NEXT?

但是這樣儲存之後檔案會稍微變大,這是比較令人困擾的地方啊。下一步我們要來找尋縮減PDF檔案大小的方法。


Phase 6. 使用ORPALIS PDF Reducer縮減PDF檔案的大小 / Use ORPALIS PDF Reducer to reduce PDF file size

image

ORPALIS PDF Reducer是一個批次壓縮PDF檔案的免費工具,可以幫助我們壓縮因為OCR而大幅增加檔案大小的PDF。

image

ORPALIS PDF Reducer的操作很簡單,首先在Source輸入存放PDF的目錄位置,然後在Destination指定壓縮之後PDF的存放位置,最後按下Start batch就可以了。

image

壓縮完成之後,ORPALIS PDF Reducer會告知壓縮率跟處理時間。

到這邊為止,大致上算是大功告成啦。


檔案的變化 / File number and total size of Scanned Page 

最後我們來看一下檔案處理的變化:

階段 檔案數量 檔案格式 檔案大小
1. 掃描書籍為電子檔 1 JPEG 633KB
2. 使用Scan Tailor裁切、轉正頁面 2 TIFF 4.16MB
3. 使用XnView MP校正與轉換圖片 2 JPEG 202KB
4. 使用Bullzip PDF Printer製作PDF檔案 1 PDF 135KB
5. 使用PDF-XChange Editor製作OCR的PDF檔案 1 PDF 382KB
6. 使用ORPALIS PDF Reducer縮減PDF檔案的大小 1 PDF 338KB

最後檔案有所減少,大概是53.4%的壓縮率。

如果PDF處理改用Adobe Acrobat Pro的話? / How about use Adobe Acrobat Pro to convert PDF?

由於學校有採購Adobe Acrobat Pro XI,所以我上述的4到6中,其實我主要是用Adobe Acrobat Pro XI在處理。該軟體可以包辦製作PDF、增加OCR、縮減檔案大小的工作。最後處理完成的結果只有125KB,壓縮率甚至高達19.7%!

但很遺憾的是Adobe Acrobat Pro是付費軟體,而且價格非常昂貴。這邊我就暫時不介紹Adobe Acrobat Pro的使用了。


結語:請尊重著作權 / Conclusion: Please respect copyright

原本我後半部是想介紹Adobe Acrobat Pro,但是看了一下價錢,發現這真的不是一個業餘做個電子書的人買得起的程度,索性作罷,改找其他免費方案,也比較符合我對自由軟體的偏好(儘管這篇介紹的很多軟體並非自由軟體,只是免費軟體而已)。但是找來找去,最後Adobe Acrobat Pro仍然是轉換速度快、壓縮率最高的唯一選擇,免費軟體的組合只能說是堪用而已。所以如果你很幸運地擁有Adobe Acrobat Pro的話,我還是建議你用他來製作PDF就好。Adobe不愧是PDF的發起者,只有自己最熟悉PDF啊。

最後提醒大家一件事情:著作權中有再製權這一項,而本文的做法正是涉及圖書再製的行為。請尊重著作權人的權益,在合理使用的前提下自烹電子書就好,不要公然散佈導致違法喔。

總共11 則留言, (我要發問)

  1. 最近深深地覺得Scan Tailor的糾偏真的是太強了!
    一般的掃描也應該丟進來糾偏一下才是

    回覆刪除
  2. 作者已經移除這則留言。

    回覆刪除
    回覆
    1. 發現小小的BUG,最好不要一開始就設定全部套用,一開始用執行鍵,讓他自動掃描,不然掃描之後,他頁面沒有顯示問號,就沒辦法在自動糾正了,這點要注意一下,目前發現是這樣,不過不知道是否正確。

      刪除
  3. 在使用Scan Tailor的時候,再用到第三項糾正設定的時候,第一張圖片讓他選擇自動糾正,但不要套用全部,不然會變成跟第一張一樣的設定值,這樣後續就沒辦法自動糾正了,就等於要重新再開一個新的專案,重新糾正。
    *第一張就是不要套用全部,然後按執行键讓他自動糾正頁面,這樣自動糾正完畢之後他就會是每一頁都是自己的糾正角度。

    回覆刪除
  4. To Shu Harry,

    我會在一開始就跳到「4. 選擇內容」的執行按鈕,按下執行讓它先全部都自動分析。位置如下圖所示:
    https://lh3.googleusercontent.com/-E6vE2kKp6yM/VwTSJA5rt4I/AAAAAAACubw/LqjCSLfcLLY/s0/2016-04-06_17-07-25.png
    分析完之後再回頭檢查前面的內容,這樣做比較快。

    歡迎多多交流喔!

    回覆刪除
  5. 謝謝您的介紹,真的是很詳盡,我自己做軟體出身的要搞這個也不見得一時半刻就可以搞定,而且您還有很多小撇步,更不用說都是Freeware就達成目的,感謝!

    回覆刪除
    回覆
    1. To Eric Liu,

      我也覺得這篇很實用,到現在也常常翻回來使用XD
      謝謝您的稱讚,讓我們多多交流吧。

      刪除
  6. 修正JavaScript的草稿程式
    http://codepen.io/pulipuli/pen/wzAGyG

    筆記一下

    回覆刪除
  7. 一直以來都用Photpshop一頁一頁修改轉正,真的非常謝謝細心分享及教學,受益良多^^

    回覆刪除
    回覆
    1. To Cospia Fan,

      用Scan Tailor就方便很多了!
      不客氣

      刪除
  8. 如果檔案過大的話,可能會造成直接轉檔失敗
    請改用以下網址
    https://pulipulichen.github.io/blog-pulipuli-info-data-2017/09/Scan-Tailor-Convertor/

    回覆刪除

留言工具: