友人掃描了實體書(雙頁掃描)要製成電子書,我從網路上搜集了資料,最後列出了各個步驟,紀錄下來,以便日後參考:
★★縮小超大pdf頁面(調整pdf頁面大小):
- 連結到 https://www.pdf2go.com/zh/resize-pdf 網頁 → 上傳pdf檔 → 下載
- 開啟終端機:gs -q -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -dFIXEDMEDIA -dPDFFitPage -dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=842 -sOutputFile=out01.pdf a.pdf
(此為使用ghostscript調整pdf頁面大小;595,842為A4大略大小)(還有-dPDFSETTINGS=ebook 設定pdf質量為中等)(還有-r96: 設定分辨率為 96 DPI) - 開啟終端機:gs -q -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -dFIXEDMEDIA -dPDFFitPage -r96 -sOutputFile=out01.pdf a.pdf
- 可用的 gs 圖形介面下載:https://drive.google.com/file/d/1nM-Tbbj2h6N0MRsxBQHbfR9-iWzYVeAb/view?usp=sharing
★★將多個pdf檔合併成一個pdf檔:pdfunite *.pdf out.pdf
★★逐頁拆分PDF文檔:pdftk a.pdf burst
★★提取a.pdf的第1頁~第50頁,並合併為01.pdf:pdftk a.pdf cat 1-50 output 01.pdf
★★改檔名:rename -v s/up/dn/ *(將up檔名改為dn)
一、建book資料夾→將掃描檔剪下貼到book中→檔名改為a-all.pdf
二.pdf裁切出上、下頁輸出為ppm(需測試)
[大本書]
(1)上頁: pdftoppm -x 60 -y 50 -W 1060 -H 710 a-all.pdf up
★建目錄 up 存所有up檔
(2)下頁: pdftoppm -x 60 -y 850 -W 1060 -H 730 a-all.pdf dn
※※※※※※※※※
[小本書]
(1)上頁: pdftoppm -x 260 -y 150 -W 2000 -H 1500 a-all.pdf up
★建目錄 up 存所有up檔
(2)下頁: pdftoppm -x 230 -y 1920 -W 2060 -H 1500 a-all.pdf dn
【註】若加入 -jpeg 條件則會輸出jpeg圖,但輸出時間較長,檔案較大。
★★xxx
※※※※※※※※※
★若要輸出PNG檔
則:pdftoppm -png -x 60 -y 50 -W 1060 -H 710 a-all.pdf up
★若要輸出jpeg檔
則:pdftoppm -jpeg -x 60 -y 50 -W 1060 -H 710 a-all.pdf up
★一般內定解析度為150,若要指定解析度(如300DPI)用-r係數
則:pdftoppm -r 300 -x 60 -y 50 -W 1060 -H 710 a-all.pdf up
★若要將資料夾內所有的png轉為jpeg
則:mogrify -format jpg *.png
三.改檔名,以便合併pdf時,依頁數順序合併:
(1)到up中:(合併時,1-1.ppm在1.ppm之前)
rename -v s/.ppm/-1.ppm/ *
(即在原檔名後加上 -1,合併時順序會在前面)
(若橫式書本,左右頁相反,則改dn的檔名)
=============
(2)在up中:
rename -v s/up/dn/ *(改為檔名都是dn開頭)
★★xxx
四.Copy dn中檔案至up中,並將原a-all.pdf留下,以便合併
★★xxx
五.在up中,合併
(1)每個pdf檔60頁,傳到Google硬碟辨識用
convert dn-00*.ppm dn-01*.ppm dn-02*.ppm dn-03*.ppm dn-04*.ppm a-0004.pdf
convert dn-05*.ppm dn-06*.ppm dn-07*.ppm dn-08*.ppm dn-09*.ppm a-0509.pdf
【註】2022/12/07此轉換已失效,需執行以下2行,才能使用:
(1)$ sudo nano /etc/ImageMagick-6/policy.xml (或從檔案找etc)
(2)找到<policy domain="coder" rights="none" pattern="PDF" />改為<policy domain="coder" rights="read|write" pattern="PDF" />
【註】形成pdf後要打開來看看頁數是否符合。
【註】辨識:在Google硬碟→右鍵→以Google文件開啟→辨識完,全選copy到純文字文件軟體
==============
(2)在up中,壓縮後(作單頁辨識用)
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=a-0004new.pdf a-0004.pdf
(所得的單頁pdf比原檔小很多)
【註】形成pdf後要打開來看看總頁數是否符合。
(注意:轉換成的 Google 文件,大小上限則是 50 MB。)
=============
(3)在up中,合併為全檔(作單頁校稿用)
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=a-allnew.pdf a-*.pdf
(所得的單頁pdf比原檔小很多)
【註】形成pdf後要打開來看看總頁數是否符合。
更改dpi大小:
-dPDFSETTINGS=/screen — 使用 72dpi,低品質且檔案較小。
-dPDFSETTINGS=/ebook — 使用 150dpi,品質較高但檔案稍大。
-dPDFSETTINGS=/prepress — 使用 300 dpi,高品質且檔案較大。
-dPDFSETTINGS=/default — 由系統選擇最理想的輸出模式,可能會產生較大的 PDF 檔案。
★★xxx
六.將辨識好的書本文字檔進行閱讀校正,貼到電子書製作軟體中,製成電子書。
七.將電子書丟入平板中以電子書閱讀軟體閱讀;檔案小又方便。
●●●●●●●●●●
八.若辨識出來的多個文字檔合併為一個文字檔:
cat 01.txt 02.txt.... > all.txt
或
cat *.txt > all.txt (要先將1~9的檔名前加上0,否則順序會錯誤)
★★★★★
九.要將docx檔轉換成pdf格式:
libreoffice --invisible --convert-to pdf *.docx
★★★★★
十.將多個pdf檔合併成一個pdf檔:
pdfunite 1*.pdf out1.pdf
沒有留言:
張貼留言