読者です 読者をやめる 読者になる 読者になる

彼女からは、おいちゃんと呼ばれています

ウェブ技術や日々考えたことなどを綴っていきます

自炊した電子書籍(PDF)を iPad でサクサク表示する方法(サンプル動画あり)

電子化 iPad

以前、このような(↓)自炊(=本を自前で電子化)PDF に関するエントリーを書いてみたのですが...

たしかに PDF のファイルサイズは小さくなって、その分多くの本を iPad で持ち歩けるようにはなりましたが、

なにせ 表示が遅い。遅すぎる(↓)

で、これは「どげんかせんといかん」と思い、あれやこれや試した結果、

Adobe Acrobat 9 の「ClearScan」機能OCR テキスト認識すれば OK

という解決策を見つけましたので、報告します。


1. テキストが多くて、版の大きい本の表示が遅い

表示が遅いといっても、すべての本の表示が遅いのではなく、遅いのは(意外にも)テキストがメインの本。画像がメインの本やマンガなんかは、そんなにストレスなく読むことができます。

また、テキストがメインの本であっても、版のサイズによって事情が少し変わってきます。文庫本のように版が小さい本はそれほどもたつかず、新書サイズは微妙なところ。新書サイズより大きい版からは表示が遅くなってしまいます。

ちなみに、PDF のファイルサイズが大きくてもスムーズに表示できるものもあれば、逆にファイルサイズが小さくても表示がもたつくものもあり、PDF のファイルサイズと iPad での表示速度との間には相関関係は見られませんでした。

2.「ClearScan」で OCR テキスト認識すると、どのくらい表示が速くなるのか?

前述のとおり、遅い原因がテキストにあることはだいたい掴めていたので、ダメモトで Adobe Acrobat 9 の「ClearScan」機能を使ってみることに。「ClearScan」とは、Acrobat 9 から導入された新技術で、これを使って OCR テキスト認識すると、PDF 上の文字を選択したときのガタツキが減ります。

(操作画面)

この ClearScan を使ってテキスト認識した PDF を表示させてみたところ...

速っ!

Acrobat 標準(?)の OCR テキスト認識(便宜上「標準テキスト認識」と呼ぶことにします)した PDF と較べて、表示速度がどのくらい速くなるのかというと、同じ本、同じ解像度でもこのくらい(↓)速くなります。

(参考)サンプルとして取り上げた書籍

Perlベストプラクティス

Perlベストプラクティス

スキャン時の解像度(ScanSnap S1500) スーパーファイン(カラー/グレー 300dpi、白黒 600dpi)
テキスト認識時の「画像ダウンサンプリングのレベル」 最低(600dpi)

3. テキスト認識の精度も落ちない

しかし、ウマい話には落とし穴があるのでは?と思い、テキスト認識の精度も調べてみましたが、これも問題なし。精度は標準テキスト認識と変わりませんでした。

(標準テキスト認識)
sub pad_str {
  my ($text , $opts) = @ー;
  my $gap $opts{cols} -length $texti 脅opts ー>{cols} のはすが.. .
  my $left $opts{centred}? inヒ($gap!2) Oi 帯opts ー> {centred} のはすが.. .
  my $right = $gap -$lefti
  return $SPACE x $left . $text . $SPACE x $righti
}

 use strict qw{ vars ) はまさにこの違反を捕らえるためのものである(18 章を参照)。そして、通常はそのように使用する。もちろん、偶然にも同じスコープに有効なopts ハッシュが存在するなら、話は別である。
 参照を保持するための変数に常に_ref サフィックスを添えれば、こうしたミスの可能性を最初から最小限に抑えることができる。もちろん、参照変数をこのように命名すればミスを防げるというわけではないし、ミスを犯したときに自動的に検出されるわけでもない。だが、エラーは一目瞭然となる。

(ClearScan)
sub pad_str {
  my ($text , $opts ) @_ ;
  my $gap $opts ( cols } - length $text ; 非opt s-> {cols} のはすが. . .
  my $left $opts ( centred}? int ( $gap/2 ) 0; 非opts-> { centred )のはすが...
   my $right $gap - $left ;
  re turn $SPACE x $left . $text . $SPACE x $right ;
}

 use strict qw( vars )はまさにこの違反を捕らえるためのものである(18章を参照) 。そして、通常はそのように使用する。もちろん、偶然にも同じスコープに有効なopts ハッシュが存在するなら、話は別である。
 参照を保持するための変数に常に_ref サフィックスを添えれば、こうしたミスの可能性を最初から最小限に抑えることができる。もちろん、参照変数をこのように命名すればミスを防げるというわけではないし、ミスを犯したときに自動的に検出されるわけでもない。だが、エラーは一目瞭然となる。

書籍スキャン時の ScanSnap S1500 の設定は、以前のエントリーと同じ。

FUJITSU ScanSnap S1500 FI-S1500

FUJITSU ScanSnap S1500 FI-S1500

解像度 スーパーファイン(カラー/グレー 300dpi、白黒 600dpi)
オプション「文字をくっきりします」 オフ

縦書き文書のテキスト認識も(ほぼ)問題なしです(↓)

(ClearScan)
はじめに
 世界で初めてのウェブ・サイトが生まれてから、約年が経ちました。インターネットでつながることによって、距離や時間に関係なく世界中から情報を収集し、コミュニケーションがとれるようになりました。アマゾンで購入した本が当日に届き、楽天で全国の名産品を購入することも当たり前の時代です。
 その後もプログやミクシイなどのSNS のように、次々と新しいサービスが生まれていますが、その中の一つで2006年後半に生まれたのがツイッタl(→宅E2)です。

4. ファイルサイズはさらに小さくなる

さらには、嬉しいことに、ClearScan でテキスト認識したときは、標準テキスト認識したときよりもさらにファイルサイズが小さくなります。

書籍 版 / ページ数 / その他 テキスト認識前 標準テキスト認識後(非圧縮) 標準テキスト認識後(600dpi圧縮) 「ClearScan」テキスト認識後(600dpi圧縮)
Perlベストプラクティス B5版 / 513ページ / 表紙以外は全てテキスト 89.2MB 93.6MB 28.1MB 12.2MB
Photoshop & Illustrator イラストデザイン マスターピース B5版 / 258ページ / 画像をふんだんに 130.9MB 133.4MB 99.3MB 78.9MB
速効!図解 逆引き小事典 Excel VBA 2003&2002対応―Windows XP版 (速効!逆引き小事典) A5版 / 273ページ / 1ページに1画像くらい 106.9MB 109.8MB 78.2MB 67.9MB
iPhoneとツイッターで会社は儲かる (マイコミ新書) 新書 / 193ページ / 全てテキスト 22.4MB 23.8MB 8.9MB 7.3MB

5. 唯一の欠点は、たまに暴走すること

ただね、ただですね、以前も書きましたが、ClearScan はたまに暴走(?)するんですよ。本当にたまになんですが、テキスト認識の過程で補正しすぎて、逆にナナメに傾け過ぎたりしてしまいます。

しかし、上記のような現象があらわれるのは、経験上では 10数冊に1回あるかないか。それよりも iPad での表示速度のほうが遙かに重要なので、このたび、Acrobat 標準のテキスト認識から ClearScan のテキスト認識へ乗り換えることに決めました。

おわりに - もう一度強調したい、本の電子化で一番大切なこと

最後に少し脱線します。これまでも(しつこく)書いてきましたが、今回のように ClearScan への乗り換えが可能だったのは、

スキャンしただけで、手を加えていない PDF の「原版」

を保存しておいたからです。

おそらく今後も技術は進歩して、OCR テキスト認識の精度も上がるでしょうし、ClearScan を上回る技術も出ると思います。再び「原版」に対して処理をやり直す、という機会が訪れないとも限りません。ハードディスクがこれだけ安くなっている今日ですから、「原版」は必ずどこかに保存しておきましょう。

それでは素敵な iPad 自炊ライフを。

おまけ

ちなみに Adobe Acrobat 9 は、スキャナの定番 ScanSnap S1500 に付属しています(正確には Acrobat 9 Standard)。

FUJITSU ScanSnap S1500 FI-S1500

FUJITSU ScanSnap S1500 FI-S1500

ただそれは Windows モデルの話であって、一方の Mac モデルの ScanSnap S1500M には付属していません。*1

S1500M ユーザは Acrobat 9 のアップグレード版を買うべきか否か。でも結構値が張るからなー。悩むところですね...

FUJITSU ScanSnap S1500M FI-S1500M (Macモデル)

FUJITSU ScanSnap S1500M FI-S1500M (Macモデル)

Adobe Acrobat 9 Pro 日本語版 通常版 Macintosh版

Adobe Acrobat 9 Pro 日本語版 通常版 Macintosh版

*1:代わりに Acrobat 8 Professional が付属していますが、ClearScan は Acrobat 9 からの新機能だったと思います。その点、以前 Adobe の Web サイトに載っていたと思うのですが、昨日探したときは見つけられませんでした。