ottijp blog

右綴じ本を考慮した,自炊から読書までのツールとフローの再考

2020-05-06 Tags: 自炊読書

本はすべて自炊(電子化)して読んでいるのですが, 最近いくつか問題を感じていて,自炊から読書までに使うツールとかフローを再考しました.

環境

  • 自炊

    • Mac mini (2018)
    • Fujitsu ScanSnap iX1500
    • EPSON GT-S650
  • 読書

    • iPad Air 2

いままでのツールとフロー

自炊

  1. 本を裁断し,ScanSnapでスキャン(ハードカバーの表紙などはフラットヘッドスキャナでスキャン)
  2. 途中で失敗したページなどを再スキャン
  3. スキャンが複数ファイルになった場合,MacのプレビューアプリでPDFページの結合・削除
  4. 右綴じの本の場合,PDF InfoMakerを使い綴じ方向メタデータを編集(これだけVMにWindows入れて使っている)
  5. Adobe Acrobat Reader DCでページ抜けやズレの確認
  6. データをMacのローカルに保存

目次は付けておらず,一応ScanSnapでOCR処理はしてますが,自炊時にテキスト化された文書が正しいかまでは確認していません.

読書

  1. iPadのi文庫HDでFTPサーバ起動
  2. Cyberduckでi文庫へPDFを転送
  3. i文庫HDで読書
  4. 読みながら気になった箇所を線引き

    • OCRでちゃんと文字が判別できている場合は,i文庫HDのブックマーク機能で線引きして,読了後にEvernoteへ転送(これもi文庫HDの機能)
    • OCRがダメダメな場合は,別途iOSのノートアプリにメモしておく,もしくはメモを取るのを諦めて読むだけにする

データがMacとiPadに重複してしまうけど,iPad側でPDFを編集しているわけではないので,許容しています.

問題

自炊時

縦書きOCR

縦書き本に対するOCRがScanSnapではダメダメで,ほぼ文字として認識されません.前使っていたCanon DR-150のソフトでは,ある程度縦書きも認識してたしていたのですが・・・.

ファイルサイズの肥大化

MacのプレビューアプリでPDFページを結合すると,元サイズの合計よりもファイルサイズが大きく肥大化することに最近気づきました.

読書時

線引きの不自由さ

i文庫HDは長く使っているアプリで,基本的に満足しているのですが,OCRでテキストが付与されていないPDFにブックマーク(線引き)ができないのが不便でした. 特に,ScanSnapにしてから,縦書きの本ではOCRがうまくテキスト化してくれなくなったので,ブックマークできなくなりました. また,横書きであっても,図などテキストでない部分に線引きがしたくてもできないことがありました.

線引きデータのロックイン

i文庫HDのブックマークはPDF自体のハイライトやドローではなく,アプリ内にメタデータとしてブックマーク情報が保存されているので, i文庫HD以外の環境でブックマークが見られないし,他の環境にPDFを移動すると,ブックマークした内容がなくなってしまいます.

アプリの不調や開発終了でブックマークした情報がなくなってしまう危険性もあり, 実際,以前iPadの日本語入力がおかしくなってiPadの初期化をしなくてはならなくなった時に, それまでブックマークしていた情報が全部消えてしまいました.これはショックでした. i文庫HD自体も,すでに積極的なアップデートがされなくなったようで,いつ使えなくなるかわからないです.

やりたいこと

上記の問題を解決するために,次のようなことを実現したく,自炊から読書までのツールとフローを再考しました.

  • ページの結合・削除の編集をファイルサイズを肥大化させずに行う
  • 縦書き文書のOCRの精度を向上させる
  • PDF自体に線引き情報を残す(PDF自体が持っているハイライトやドローといったメタデータに線引き情報を残す)

ただし,縦書き文書のOCR化については,以下のブログの「日本語 OCR における方針」に同意していて,最悪できなくても良いかなと思っています.

参考: Mac で ScanSnap:今更ながらに自炊してみた、アプリケーション編 | WAVEFORM LAB

読書時のツールの比較

いくつかのツールでPDFのハイライトやドローを付けたり見え方を確認してみたところ, 再生環境によって見え方が結構異なることがわかりました. 特にテキストデータがない部分に対するハイライトで,互換性がないケースが多いです.

ツール テキストがある部分へのハイライト作成 / 表示 テキストがない部分へのハイライト作成 / 表示 ドローの作成 / 表示
Acrobat Reader DC (macOS) ○ / ○ ○ / ○ ○ / ○
プレビュー (macOS) ○ / ○ ✕ / ✕ (塗りつぶして表示される) ○ / ○
Acrobat Reader for PDF (iOS) ○ / ○ ✕ / ○ △(一部機能のみ) / ○
i文庫HD (iOS) ○ / ○ ✕ / ✕(塗りつぶして表示される) ✕ / ✕(半透明のものが塗りつぶして表示される)
Booklover (iOS) ✕ / ✕(何も表示されない) ✕ /✕(何も表示されない) ✕ / ✕(何も表示されない)
PDF Expert (iOS) ○ / ○ ✕ / ○ ○ / ○

テキストがない部分へのハイライトの作成は,macOSのAcrobat Reader DCでしかできず, かつiOSではAcorobat Reader for PDFとPDF Expertでしかちゃんと表示されませんでした.

塗りつぶして表示されるというのは↓のような感じです.

Acrobat Reader for PDF (iOS) i文庫HD
acrobat notfilled ibunko filled
塗りつぶされない 塗りつぶされる

OCRがきちんとできていない場合のハイライト(テキストがない部分へのハイライト)は,作成できるツールが限定的で,かつ再現性のないツールが多いので,スキャンしたPDFには基本使わないことにしました. また,透明度を付けたドローも,表示できるアプリとできないアプリがある(i文庫HDでは塗りつぶしになってしまうので,文字にかかっていると文字が読めなくなる)ため,文字に重ねるようにドローしないことにしました.

次に,見開き表示と右綴じ本の表示(Right to Left表示)は私にとってマストな要件なので, これができるかどうかも確認しました.

ツール 見開き表示 右綴じ本の表示
Acrobat Reader DC (macOS)
プレビュー (macOS)
Acrobat Reader for PDF (iOS)
i文庫HD (iOS)
Booklover (iOS)
SlideBooks (iOS)

macOSならAcrobat Reader DCを使えば良さそうです. iOSの場合,前述のハイライトとドローの方針で線引を行えば,i文庫HDで良さそうです. ただし,i文庫HDの代替としてBookloverも良さそうなので, ハイライトやドローの表示ができるようになったらBookloverに乗り換えるのもありですね. (i文庫HDは今後なくなるかもしれないので.)

ということで,読書時のツールは次のようにします.

  • Mac: Acrobat Reader DC
  • iPad: i文庫HD(Bookloverのアップデートをチェックして,そのうち乗り換えるかも)

自炊時のツールの比較

まずはOCR機能をいくつかのツールで比較しました.

ツール 精度 縦書き
ScanSnapの「検索可能なPDF」でスキャン
Kofac Power PDF for Mac (ScanSnapバンドル)
PDFelement

Kofac Power PDFは縦書きの文字認識もできたのですが,1文字目から横方向にテキストが挿入されるので, テキストの位置が画像と一致せず,ダメな感じでした.

PDFelementは体験版で試す限りほぼ合格な感じでした. ただ,それでも文字の誤認識は割とあるし,基本縦書きの本における横書きページでは, 縦テキストと横テキストが混在してぐちゃぐちゃになってしまう部分もありました. また,こちらの各OCRと同様に, 画質は最大でも300dpiにダウンサンプルされるようです. それらの結果から,やはりOCRを前提とした運用は厳しいなと感じました.

(余談ですが,このPDFelement,体験版でOCRかけてしばらくアプリを起動したままにしていたら, メモリを33GBも食っていて,OSがハングアップしかけました・・・.ちょっと実用は恐いです.)

次に結合時のファイル肥大化を比較しました. 73.2MBと64.9MBのファイルを結合した時のサイズです.

ツール 結合ファイルのサイズ
プレビュー 161.9MB
Kofac Power PDF for Mac (ScanSnapバンドル) 143.9MB
pdftk 138.1MB

pdftkはこちらを参考にし,Dockerで実行しました.

ファイルサイズ的にはpdftkが元ファイルの合計とぴったり合いました. 拡大して見た感じは,すべて元ファイルと変わらない画質でしたので,pdftkでやるのが良さそうです.

これからのツールとフロー

以上の結果から,今後は次のようなツールとフローを考えています.

自炊

  1. 本を裁断し,ScanSnapでスキャン(ハードカバーの表紙などはフラットヘッドスキャナでスキャン) ※OCRはかけない
  2. 途中で失敗したページなどを再スキャン
  3. スキャンが複数ファイルになった場合,pdftkでPDFページの結合・削除
  4. 右綴じの本の場合,PDF InfoMakerを使い綴じ方向メタデータを編集(暫定.そのうちこちらを参考にMacでできるようにしたい.)
  5. Adobe Acrobat Reader DCでページ抜けやズレの確認
  6. データをMacのローカルに保存

読書(iPad)

  1. iCloudやDropbox経由でiPadのi文庫HDへPDFを転送
  2. i文庫HDで読書
  3. 読みながら気になった箇所はPDF expertで線引き(ドローツールを使い,文字にかぶらないようにマークアップする)
  4. 読了後,iCloud経由でMacへPDFを転送して上書き保存

読書(Mac)

  1. Adobe Acrobat Reader DCで読書
  2. 読みながら気になった箇所は線引き(ドローツールを使い,文字にかぶらないようにマークアップする)

スキャンした本以外の運用

今回は自炊したPDFの話だけですが,それ以外にもいくつかのフォーマットの本を読んでいます.

  • DRMフリーのテキストベースのPDF
  • Kindle(テキストベースのもの)
  • Kindle(画像ベースのもの)

これらについても,運用を別途考えたいです.

ref


ottijp
Satoshi SAKAO (@ottijp)

都内でアプリケーションエンジニアをしています

...