🙆
電子書籍をPDF化
いろんな電子書籍サイトがあるが、専用ビューワーではないと開けないものも多い。
しかしながら専用ビューワーでは、書き込みができなかったり電子書籍を最大限に
活用することができないものが多い。
そこで今回は3つの処理のみで、PDF化する方法を紹介する。
1.スクリーンショットでpng化
スクリーンショットは誰もが想像つくものだろう。
しかしながら、通常のスクリーンショットではページ数も多く労力が必要になる。
ここで便利なアプリ「Reader Capture」を紹介する。
これを活用することで簡単に前ページスクリーンショットをすることができる。
ただ、ここで注意をしないといけないのは、任意間隔(秒)によりスクリーンショットするため重複した画像を保存することになる。
2.重複画像の削除
重複画像の削除方法は有料アプリを使うなどあるが、
Pythonを活用することで無料で重複画像を削除することができる。
# coding: utf-8
import os
import hashlib
from glob import glob
flist = []
fmd5 = []
dl = []
dirname = './[pngが保存されているディレクトリ]/'
for e in ['png', 'jpg']: flist.extend(glob('%s/*.%s'%(dirname,e)))
print(flist)
for fn in flist:
with open(fn, 'rb') as fin:
data = fin.read()
m = hashlib.md5(data)
fmd5.append(m.hexdigest())
for i in range(len(flist)):
if flist[i] in dl: continue
for j in range(i+1, len(flist)):
if flist[j] in dl: continue
if fmd5[i] == fmd5[j] and not flist[j] in dl:
dl.append(flist[j])
print(dl)
for a in dl: os.remove(a)
3.PNGをPDF化
2をすることで重複がないPNGで構成された書籍ができる。
それらをPDF化する必要がある。
これは新しいアプリを入れる必要はなく、
スクリーンショットで利用した「Reader Capture」で変換可能であり、
これで書籍のPDF化ができる
おまけ.PDF軽量化
スクリーンショットで作成したアプリは容量が大きいため
ドライブの容量を大きくとってしまう。
そこで軽量化をすることでより多くの書籍をPDFすることができるのだ。
軽量化の方法は、adobeに任せよう。
オンラインで利用でき、ページ数にもよるが、簡単に50~70%軽量化できるだろう。
Discussion