PDF文書を読もう!編

 シグマブックでPDFファイルが読めたら便利なのになぁ、とかPDFファイル読めないんじゃ話しにならないなぁ、とか思ってる人いませんか? ていうか、彬兄がそう思ったのでとりあえずそういうことにして、PDFファイルのシグマブック化にチャレンジしてみました。
 PDFファイルのシグマブック変換作業に当たって、サンプルとしてこちらのサイトにあるCuteSisterTRPGのPDF版を使用させていただきました。(快く許諾いただいたraopuさん、アスファさんに感謝!)

 Web小説を読もう!編でも書きましたが、ΣBookBuilderは、テキストとBMP画像ファイルしか取り込むことができません。なので、ビジネス文書などで広く普及しているPDFドキュメントは直接は読めません。まあ、テキストだけならコピー&ペーストで無理やり拾ってくることもできますが、画像や表を埋め込んである場合はその手は使えません。では、残る手段は……そう、テキストがだめならBMP画像に変換してやればよいのです。
 後は、Web小説を読もう!編でやったように、表示したPDFファイルの1ページ1ページのスクリーンショットをカット&ペーストしてBMPファイルで保存して……。ごめんなさいうそです。170ページもあるのにいくらなんでもそんなめんどくさいことはしていられませんので、GhostScriptという便利なツールを使います。

 まずはGhostScriptとGSviewのインストール。実はけっこうややこしいんですが、このサイトを参考にさせていただきました。
 インストールが完了したら、まずGSviewでpdfファイルを開きます。そして、メニュー→convertを選択。bmpだけでもいくつか種類がありますが、シグマブックで表示させることを考えると、ファイルサイズの関係上グレースケールにしておいたほうがよさそうです。解像度は……マシンパワーと時間に余裕があるならできる限り大きくしておいたほうがいいかな?

GSViewスクリーンショット
GSViewスクリーンショット

GSView→convertメニュー
GSView→convertメニュー

 で、次にページ数ですが、そのまま普通に全部のページをコンバートすると、ファイルがひとつしかできません。前のページが後ろのページに上書きされてしまうようです。そこで、ファイル名に「%d」をつけます。例えば「CST%d.bmp」とすれば「CST1.bmp」「CST2.bmp」……といった具合にナンバリングされたファイルが作成されます。

 ……うわすげー処理重たっ!

 とまあ、理屈の上ではこれでbmpファイルに一括変換できるわけなんですが、あまりの重たさにファイル変換が途中で失敗してしまいました。根本的な原因はわかりませんが、一定数以上のページを変換したところでコンバートがエラー終了してしまう模様。
 まあ、この程度のトラブルは大目に見ましょう。GSViewはページを指定できるので、コンバートできなかったページからやり直せばいいだけの話。……ちょっとめんどうだけど。

 てなわけでちまちま作成したbmpファイルを、こんどはΣBookBuilderでコンバート。

ΣBookBuilderスクリーンショット
基本的に操作はテキストとまったく同じ

 ……うわすげー処理重たっ!

 元の画像ファイルがでかければでかいほど、やたらめったら処理が重くなりやがります。
 まあ、こういう作業は寝てる間にやってしまうに限る。というわけで、開始してから一晩明けた朝、無事にコンバート完了。さて、さっそくシグマブックで表示してみますか……。

シグマブック版CuteSisterTRPG?
コンバート直後のbmpを組み込むとこんな感じ。

 うぉっ、字ぃめっちゃ細かっ!

 いや、読めないことはない。が、いくらなんでもこれはちとつらい。せめてもう1ポイントでいいから字がでかくなれば……。

拡大図
拡大図。読めないことはないんだけど……。

 ……画面を良く見てみると、周辺に余白がある。PDFファイルに限らず、文書というのはぎりぎりまでつめると読みにくくなるので必ず周囲には余白がある。ひょっとして、ここ削っちゃえば相対的に字がでかくなりませんか? シグマブックは液晶ぎりぎりまで使っても液晶の外に余白がたっぷりあるので必要ないし。
 問題はこの170ページ以上あるbmpファイルをいちいち手で削ってたらやってられないということだけど……。で、chatで人に聞いたりしていろいろ手段を探してみたんですが、最終的に落ち着いたのがImageMagickを使用する方法。こいつを使うとコマンドラインから任意の場所をクリッピングしたり、拡大縮小したりもできてしまうというすぐれもの。
 具体的にどんなコマンドにすればいいかについてはこのサイトを参考にしました。ちなみに、ImageMagick自体はヘルプも含めて全部英語。日本語の解説がなかったらさすがに……。
 で、使用するのはconvertコマンドのcropオプションとgeometryオプション。切り取り処理だけならcropオプションだけで事足りますが、それだけだとなぜかΣBookBuilderがコンバートに失敗してしまいます。が、geometryでリサイズするとコンバート出来るようになりました。(原因はΣBookBuilderが圧縮BMPには対応していないせいっぽい。あと、ΣBookBuilderよりもImageMagickで処理したほうがスムージングなどの性能が良いというのもあります)
 あとは、試行錯誤でサイズを実測して、1024×768に近いサイズになるように調整。ちなみに、このとき注意なのですが、実際にシグマブックで表示すると、画像の下端が一部ページ数表示&メニューに隠れてしまいます。上端はぎりぎりまでカットして大丈夫ですが、下端にはすこし余裕を持たせたほうがいいです。

 数値が決まればエクセルあたりを使って連番のコマンドを生成、バッチファイルとして保存して一括コンバート。

 ……うわすげー処理重たっ!

 なんというか、もはやお約束ですが、最初のGhostScriptの取り込みで高解像度で取り込んだもんだから、数時間かかかる処理がそこかしこに……。ここいらへんの最適値は今後研究の余地ありかな。

 後はΣBookBuilderのコンバートをやり直せば……。

シグマブック版CuteSisterTRPG2
ImageMagick処理後のbmpを組み込むとこんな感じ。

 相変わらず字は細かいですが、まあなんとか読めるようになりました。

拡大図2
拡大図。だいぶましになったかな

 ところで、気になるファイルサイズですが、BMPファイルをコンバートした場合、元画像のサイズ関係なしに1ページあたり385kbになります。今回コンバートしたpdf版CuteSisterTRPGの場合は表紙と目次あわせて171ページ、約67MBになりました。テキストベースに比べるとずいぶん重たいですが、まあ100ページもあるようなpdfファイルなんてそうそうないでしょうから、まあこんなものじゃないでしょうか。

 というわけで、PDFファイルは読めることが判明しましたが、場合によってはちょっと字の大きさに難があるケースがあるかも。あと、カラーだけで濃淡のないコントラストつけている場合も要注意かな。
 なにはともかく、これであの伝説の義妹×義兄ラブコメRPG「CuteSisterTRPG」を気軽にコンベンションに持ち込めるようになりました。

2004.6.11更新

シグマブックで遊ぼう!TOPへ戻る