電子書籍キャプチャ&PDF化ツール

目的

本ツールは、デスクトップ上で表示されている電子書籍画面を自動的にページめくりをしながら連続キャプチャし、それらの画像をまとめて1つのPDFファイルとして保存する目的で作成されました。

例えば、国会図書館デジタルコレクションの送信サービスや図書館での電子書籍がブラウザで閲覧できるものがありますが、そのような書籍をPDF化できます。(著作権違反のないように、あくまで個人で閲覧する用途としてご利用ください)
Kindle Paperwhiteで閲覧することを目的としているため、見やすくガンマ調整したグレースケール画像に変換する機能もあります。

インストール方法

※Windows11のみで実行確認をしてますが、他OSでも動くかもしれません
  1. こちらのzipファイルへのリンクを右クリックから保存して解凍しますとwebbookpdf.pyのpythonスクリプトファイルとなります。
  2. Python 3.x がインストールされている環境が必要です。
  3. 必要なライブラリをインストールします: pip install pyautogui pillow

使用方法

あらかじめ書籍をブラウザで表示するなどページをめくれる状態まで手動で操作しておきます。

キーボードの左右矢印キーでページめくりが出来る状態にしてください。

書籍のキャプチャしたい始めのページの位置にしておいてください。

Windows PowerShellまたはコマンドプロンプトから以下のコマンドで実行します。

python webbookpdf.py -k 名称 -n ページ数 -d 左右方向 --cx 中心横位置 --cy 中心縦位置 --w キャプチャ横サイズ --h キャプチャ縦サイズ

実行後、指定した秒数(デフォルト20秒)以内にキャプチャしたい電子書籍画面をアクティブ(最前面)にしてください。

例:
python webbookpdf.py --cx 931 --cy 521 --w 800 --h 1100 -d right -k "題名" -n 999
本アプリではキャプチャ画像が3回同じ画像となった場合は自動停止します。そのため-nでのページ数指定は999と大きく設定すると自動停止となります。
座標の指定はデスクトップ画面全体の左上からのピクセル数となります。

ヘルプ一覧(コマンドオプション)

引数説明
-k, --keyname保存先フォルダ名およびPDFの名称(デフォルト: 名称)
-n, --pagesキャプチャする総ページ数(デフォルト: 10)
-d, --directionページめくり方向 (left: 左矢印キー, right: 右矢印キー)
--cx, --cyキャプチャの中心座標
--w, --hキャプチャする横幅・縦幅(px)
--intervalページめくり後の待機時間(秒、デフォルト: 2.5)
--delay開始前のカウントダウン(秒、デフォルト: 20)
--pdfonlyキャプチャを行わず、既存画像からPDFのみ作成
--grayscalePDF化の際にグレースケール変換する(デフォルト: True、カラーの場合はFalse)
--ebook縦長画面モードを有効にする
--gammaガンマ値、デフォルト1.2 大きいほど文字が黒くなります
-hヘルプを表示します

--pdfonlyオプションは既に画像取得が終了している場合に、再度pdfだけガンマ調整をして再作成するためのオプションです。既にpdfファイルが存在する場合は削除しておいてください。キャプチャ範囲の再指定はできません。

--ebookを指定した場合は見開きではなく、単一ページ送りの画面とみなします。

cooyou.org