電子書籍キャプチャの解像度を上げるモニター設定|縦向き・必要ピクセルの計算・見開きNGの理由
電子書籍をスクリーンショット方式でPDF化するときに、画質を決めているのはモニターの縦のピクセル数です。読む端末から必要ピクセル数を逆算する方法、Windowsの画面の向きを「縦」にして天井を引き上げる手順、見開き表示が解像度を落とす理由、撮影後のピクセル数の確認方法をまとめました。
目次
はじめに
電子書籍をスクリーンショット方式でPDF化したら、なんだか文字が甘い。
そんな経験はありませんか。
私は以前、この問題の原因がPCモニターの解像度、正確には画面の「向き」だったという記事を書きました。
プログラミング
KindleをPDF化してKindle Scribeで読むと文字がガビガビ|原因はモニターの解像度だった
自分でPDF化したKindle本をKindle Scribeに入れると文字の輪郭がぼやける現象について、原因の切り分けと直し方をまとめました。犯人はJPEG圧縮ではなく、スクリーンショットを撮っていたPCモニターの解像度不足でした。モニターを縦設定にして撮り直した実測値、USB転送を選んだ理由、サイドロードPDFへの手書きのファームウェア条件まで記載しています。
あちらはKindle Scribeで起きた事例のトラブルシューティングでしたが、この話はスクショ方式のPDF化すべてに効く普遍的なテーマです。
iPadで読む場合でも、他のツールでキャプチャする場合でも、原理はまったく同じだからです。
この記事はその設定編にあたります。
どのモニターで、どんな設定にすれば、何ピクセルで撮れるのか。
必要ピクセル数の計算のしかたから、Windowsの設定手順、撮影後の確認方法までをまとめます。
数字が多めに出てきますが、やること自体は「画面を縦にして撮る」だけなので、身構えずに読んでみてください。
原理:撮ったピクセル数がPDFの画質のすべて
まず原理を押さえます。
ここが分かると、あとの話は全部当たり前に見えてきます。
スクショ方式のPDF化は、画面に映ったページをそのまま画像として保存するものです。
つまり、ページが画面上で占めるピクセル数が、そのままPDFの1ページの解像度になります。
撮った後に画像を拡大しても、情報は1ビットも増えません。
ボケた画像が大きくなるだけです。
そして読む側の端末では、こう決まります。
- PDFのピクセル数が端末の表示領域より大きい → 端末は縮小して表示する → 補間で情報が間引かれるだけなのでくっきり見える
- PDFのピクセル数が表示領域より小さい → 端末は拡大して表示する → 無い情報を補間で水増しするのでボケる
印刷にたとえると、大きい写真を縮小印刷するとシャープに出て、小さい写真を引き伸ばすと粗くなるのと同じ理屈です。
つまり、やることは1つだけです。
読む端末の表示ピクセル数を調べて、それを上回る解像度で撮る。
これがこの記事の全部です。
ステップ1:必要ピクセル数を調べる
まず目標値を決めます。
読む端末の画面解像度を調べてください。
「機種名 解像度」で検索すればすぐ出てきます。
私の例だと、Kindle Scribeは10.2インチ・300ppiで画面が1860×2480ピクセル、縦長ページの表示領域はおよそ1748×2480ピクセルです。
この場合は「縦2480を超える高さで撮る」が目標になります。
端末が決まっていない方向けの目安としては、縦2500ピクセル前後を超えていれば、現行の主要な読書端末ではまず困らないかと思います。
なお、E Ink(電子ペーパー)端末はドットがくっきりしている分、解像度不足が液晶より露骨に見えます。
Scribeのような端末で読む予定なら、この基準は特に守る価値があります。
ステップ2:モニターの「縦のピクセル数」が天井だと知る
ここがこの記事の核心です。
Kindle for PCのようなビューアは、1ページをまるごとウィンドウに収めて表示します。
本のページは縦長なので、ページの高さは画面の縦のピクセル数を超えられません。
横にどれだけ画面が余っていても、縦長のページには使えないのです。
つまり、キャプチャで得られる解像度の天井は、モニターの縦のピクセル数から、ツールバーや余白のぶんを引いたものになります。
主要なモニターで天井を計算するとこうなります。
| モニター | 解像度 | 横置きの天井(縦px) | 縦向きの天井(縦px) |
|---|---|---|---|
| フルHD | 1920×1080 | 1080 | 1920 |
| WQHD | 2560×1440 | 1440 | 2560 |
| 4K | 3840×2160 | 2160 | 3840 |
Scribeの目標値である縦2480超と見比べてみてください。
横置きでは、4Kモニターですら届きません。
天井が2160なので、目標に足りないのです。
ところが縦向きにすると景色が変わります。
4Kなら3840で余裕があり、WQHDでも2560でぎりぎり届きます。
フルHDは縦にしても1920なので、残念ながらこの基準には届きません。
それでも横置きの1080よりは大幅に改善します。
縦長のページには縦長の画面。
言われてみれば当たり前なのですが、モニターを横置きで使うのが普通なので、ここが本当に盲点でした。
横置きで縦長ページを映すと、肝心の縦が足りず、左右は余白としてピクセルを捨てている状態なんですよね。
実測値も出しておきます。
私の4Kモニターの場合はこうでした。
| 画面の向き | 天井(縦px) | ページ本体の実測 |
|---|---|---|
| 横置き | 2160 | 1447×2052 |
| 縦向き | 3840 | 2160×3040 |
天井が2160から3840に上がった結果、1ページの縦は2052から3040ピクセルに伸びました。
天井いっぱいまで使えていないのは、ウィンドウの枠・ツールバー・ページ上下の余白のぶんです。
情報量にすると約2.2倍になりました。
そして肝心なのは、縦3040がScribeの表示領域2480を上回ったことです。
「拡大される側」から「縮小される側」へ、境界をまたいだことになります。
補足しておくと、この縦向き設定のPDFは、小さい画像を後から引き伸ばしたものではありません。
ビューアが大きいウィンドウで電子書籍データをレンダリングし直した状態を撮っているので、実際にディテールが増えています。
ステップ3:モニターを「縦」に設定して撮る
物理的にモニターを回転させる必要はありません。
設定だけで大丈夫です。
私のモニターもスタンドの都合で物理回転(ピボット)ができませんが、問題なくこの方法が使えています。
手順は次のとおりです。
- Windowsの「設定 → ディスプレイ → 画面の向き」を「縦」に変更する
- ビューア(Kindle for PCなど)を起動して最大化する
- 表示を必ず「1ページ表示」にする
- あとは普段どおりキャプチャする
- 終わったら画面の向きを「横」に戻す
1についてもう少し補足します。
パネルが横置きのままでも、OSが縦長の画面を作ってくれます。
ここでいう画面とは、フレームバッファ、つまり画面の中身を置いておくメモリ領域のことです。
表示は横に寝てしまいますが、キャプチャには関係ありません。
3の「1ページ表示」が必要な理由は次の章で説明します。
4のキャプチャには、私は自作の無料アプリkindle_shotを使っています。
キャプチャからトリミング、PDF変換まで1本で完結します。
画面が縦、つまり表示が横倒しになっている間は、マウス操作の感覚が混乱します。
ただ、キャプチャは自動で進むので、開始してしまえば触ることはありません。
首を傾げながら操作するのは開始までの数十秒だけです。
見開き表示がNGな理由
もうひとつの落とし穴が見開き(2ページ表示)です。
見開きで撮ると、1ページに割ける画面の横幅が半分になります。
ページの縦横比は決まっているので、横幅が半分になれば縦も連動して縮みます。
その結果、1ページあたりの解像度が大きく落ちます。
せっかくモニターを縦にしても、見開きでは台無しです。
キャプチャ前に必ず1ページ表示を確認してみてください。
同じ理屈で、ウィンドウを小さくして撮るのもNGです。
「ページを画面上でできるだけ大きく映す」が常に正しい、と覚えてしまって大丈夫かと思います。
撮れたか確認する方法
キャプチャ後、最初の数枚で確認しておくと安心です。
- 保存されたPNGファイルを右クリックして「プロパティ」を開く
- 「詳細」タブを開く
- 「幅」「高さ」のピクセル数を確認する
- 目標値(Scribeなら高さ2480超)をクリアしているかチェックする
ここで足りなければ、ビューアの最大化・1ページ表示・画面の向きのどれかが漏れています。
全ページ撮り終えてから気づくと悲しいので、最初に確認する癖をつけておくのがおすすめです。
運用上の注意2つ
トリミングとの関係
キャプチャ後は、余白やツールバーをトリミングで削ることになります。
トリミングは余白を切るだけなので、本文部分のピクセル数は変わりません。
なので「目標値を超えているか」の判定は、最終的には本文、つまりページ本体の高さで見てください。
前の章に出した実測値2160×3040も、トリミング後のページ本体の値です。
余白込みでぎりぎり目標クリア、という状態だと、トリミング後に割り込むことがあります。
縦向き設定の戻し忘れ
キャプチャが終わったら、ディスプレイの向きを「横」に戻すのを忘れないようにしてください。
縦のまま次にPCを開くと、横倒しの画面をマウスで操作するはめになります。
ワンアクションで済むので、キャプチャ完了から向きを戻すところまでをセットの手順にしておくのがおすすめです。
細かい疑問への答え
Q. Windowsの拡大縮小(スケーリング150%など)は影響しますか。
A. kindle_shotの場合は影響しません。
アプリ側でDPI対応の宣言(SetProcessDPIAware)をしていて、スケーリング設定に関係なくモニターの物理ピクセルでそのまま撮る作りにしてあるためです。
他のキャプチャツールを使う場合は、スケーリングの影響を受けるものもあります。
撮れたファイルのピクセル数を一度確認してみてください。
Q. 解像度はいくらでも上げられますか。
A. 上限があります。
増やせる情報量の天井は、ビューアが描ける精細さ、つまり元の電子書籍データの解像度までです。
私が試した本では4K縦でもまだ余裕がありましたが、元データが粗い本ではどこかで頭打ちになるかと思います。
Q. ファイルサイズが心配です。
A. 正直、大きくなります。
私の検証では、204ページの漫画で約1.2GBでした。
画質を取った結果のトレードオフです。
読む端末に入れる際は、サイズ上限のない転送手段を使ってください。
Scribeの場合はUSB接続です。
画質を落とさずに減らす唯一の手段はグレースケール化で、本文ページは色情報を持たないことが多いため、解像度そのままでサイズだけ減らせます。
Q. 紙の本でも同じことをするのですか。
A. いいえ。
紙の本が手元にあるなら、スキャナーで600dpi程度で取り込むほうが確実です。
スキャンの密度はディスプレイを上回るので、最初からくっきりします。
この記事の方法が必要なのは、DRMのかかった電子書籍のように、スクショ方式しか手段がない場合です。
Q. iPadで読むだけなら、ここまでやらなくてもいいですか。
A. 液晶はE Inkより甘さが目立ちにくいので、要求水準は下がります。
ただ原理は同じで、拡大して読むほど解像度不足は見えてきます。
一度作ったPDFを長く使うことを考えると、撮れる環境があるなら高解像度で作っておくのが安全かと思います。
まとめ
いかがでしたか。
今回は、スクショ方式のPDF化で解像度を上げるモニター設定をまとめました。
要点は次の4つです。
- 読む端末の表示ピクセル数を調べ、それを上回る解像度で撮るのが目標(Scribeなら縦2480超)
- 解像度の天井はモニターの縦のピクセル数。Windowsの設定で画面を「縦」にすると天井が一気に上がる(4Kなら2160から3840へ)
- 見開き表示と小さいウィンドウはNG。最大化と1ページ表示で、ページを画面いっぱいに映す
- 撮ったら最初の数枚でピクセル数を確認する
モニターを買い替えなくても、設定ひとつで画質は変わります。
ぜひ試してみてください。
この記事が誰かの役に立てばうれしいです。