ドキュメントスキャナで本を電子化
ドキュメントスキャナで本を電子化
最近、紙媒体が鬱陶しく思えてきました。
現在、コミックやラノベが合わせてかなりの数になり、読みたいものがすぐに出てこないことが多々あり困っています。
(読んでからしばらくして新刊が発売されたが、ストーリーをほとんど覚えていなかったので見返そうと思ったら、棚の奥深くに・・・)
買ったものはデータベース化しているので、買ったか買っていないかは分かっても、肝心のモノが出てこない。
さらに部屋は狭いので、保管場所に苦労する羽目に。(むしろ、そろそろ置く場所がなくなり平積みにしています)
PCならば、古いファイルでもとりあえずfindとgrepがあれば検索出来るのに・・・。
それなら電子化すればいい!
ということで、少々考えてみました。
電子化のメリット
・検索がすぐ出来る
・すぐに出てくる
・iPhoneなどのモバイル機器で見ることが出来る(転送orWEBアプリでネット経由)
・場所をとらない(HDDさえあればOK)
・ディスプレイで読める
電子化のデメリット
・バラす必要がある
・手間がかかる(断裁、スキャン)
・HDDの容量を食う
・原本よりクオリティは下がる
ざっと思いついたところでこんな感じになりました。
自分としては、メリットの方が多いので断裁してスキャンすることに決定。
ググって見たところ、業務用の安いグレードでコストパフォーマンスがいいfi-6130を見付けて衝動買いしました。
自分の衝動買いにしてはいい買い物です。
第一に速い!
600dpiでも分速30P。200Pの雑誌なら7分程度。
さらに、ほとんどダブルフィードしない!
したとしても検知してすぐに止まる!
その上、TWAINに対応しており、Linuxで直接操作出来ます。
そういうことで、今回はLinuxでTWAIN対応のスキャナを使用する方法を書こうと思います。
1・SANEのインストール
SANEをインストールしてスキャナを使用出来るようにします。
2・スキャンしてみる
手っ取り早くスキャンするなら、
rootで作業すると云々というメッセージはでますが、無視。
無視するのが嫌なら、lsusbでbusのIDを調べて/dev/bus/usb/以下のデバイスについてのアクセスを許可すればOK
xsaneを起動すると、こんな感じ。

大まかな手順は、
1・原稿一枚をセット
2・左側のプレビュー画面での左下にあるAcquire previewをクリックし、プレビューを表示
3・プレビュー画面に表示された原稿を選択してトリミング
4・お好みで色などを調整
5・真ん中のメインウインドウ上部の読み取りページ数(ここでは32になっている部分)でページ数を指定
6・読み取る数だけ原稿をセットし、同ウィンドウのScanボタンでスキャン開始
右側のDF actionなどと書いてある部分はスキャナによって表示は異なるようです。
fi-6130の場合は、ダブルフィードを検出する方法の選択(傾き、超音波、長さ)、背景色(白、黒)、バッファの使用などの設定が出来ます。
細かいパラメータは詳しくないので割愛。
3・コマンドラインからスキャン
GUIは楽でいいですが、カラーページとモノクロページがランダムに入っている雑誌の場合、いちいち設定を切り替える必要があります。
設定をクリックして読むのは非常に面倒なわけで、コマンドでバッチ化出来ればかなり楽になります。また、独自のフロントエンドも作れたりします。
コマンドの場合は、scanimageを使用します。
他のオプションは、scanimage --helpで確認可能です。
(スキャナに問い合わせて、独自のオプションも拾ってくるので、反応が帰ってこなくてもしばらく待ってください)
4・すごくいい加減なバッチ
いちいちカラーとモノクロのコマンドを打つのが面倒なので、簡単なバッチファイルを作成しました。
1・カラーとモノクロを選択
2・ADFに入っている原稿をすべてスキャン
3・スキャン終了したら最後の画像+1をbatch-startに設定し、1へ戻る
スクリプトも設定値もかなりいい加減なので、あくまでも参考程度にしてください。
現在、上記スクリプトをGUIで出きるように空いた時間でちまちまプログラム組んでます。(perl-gtk使用)
こちらも出来たらそのうちに公開するかもしれません。
現在はボタンを押したらスキャン開始して、最新の画像をプレビュー表示することが目標ですが、将来的にはトリミングや画質調整が出来ればいいなとか思ってます。
あと、画質の設定値は色々と試行錯誤中。なかなか綺麗にならない。
単行本をスキャンするにあたって、表紙くらいは綺麗にスキャンしたい。モノクロ2値なページならそこそこ綺麗にスキャン出きるが・・・。
とりあえず、全書籍の電子化に一歩近づきました。漫画雑誌はすべてスキャンしようかと思います。
単行本についても雑誌が終わり次第着手。
ラノベは読み終わったものから着手。
漫画はiphoneでも何とか読めますが、ラノベは解像度が高くないとどうしても読みにくいので(約40x40をリサイズなしですべて表示する必要あり)後回しに。
ラノベを読むデバイスとして、iPadにはかなり期待しています。
大きさそこそこ、解像度そこそこ。
静かで持ち歩きも出来るとくれば、便利に使えそうです。
余談ですが、iPadについては日本の電子書籍よりも、個人で自炊したもののビューワとして普及したりしてと思ってみた今日この頃です。
さらに余談ですが、念のため・・・スキャンしたデータはどこかに公開とか流出とかさせないようにしてください。あくまでも私的利用の範囲内で。
自分の場合は、内部からのみアクセス可能なサーバーに保存。外部からは自分専用のOpenVPN経由でしかアクセス出来ないようにしています。(というか、自作ビューワが適当すぎてry)
あと、原本については、後々スキャンすることがあるかもしれないので、ダンボールに入れてクローゼットに保管しています。
最近、紙媒体が鬱陶しく思えてきました。
現在、コミックやラノベが合わせてかなりの数になり、読みたいものがすぐに出てこないことが多々あり困っています。
(読んでからしばらくして新刊が発売されたが、ストーリーをほとんど覚えていなかったので見返そうと思ったら、棚の奥深くに・・・)
買ったものはデータベース化しているので、買ったか買っていないかは分かっても、肝心のモノが出てこない。
さらに部屋は狭いので、保管場所に苦労する羽目に。(むしろ、そろそろ置く場所がなくなり平積みにしています)
PCならば、古いファイルでもとりあえずfindとgrepがあれば検索出来るのに・・・。
それなら電子化すればいい!
ということで、少々考えてみました。
電子化のメリット
・検索がすぐ出来る
・すぐに出てくる
・iPhoneなどのモバイル機器で見ることが出来る(転送orWEBアプリでネット経由)
・場所をとらない(HDDさえあればOK)
・ディスプレイで読める
電子化のデメリット
・バラす必要がある
・手間がかかる(断裁、スキャン)
・HDDの容量を食う
・原本よりクオリティは下がる
ざっと思いついたところでこんな感じになりました。
自分としては、メリットの方が多いので断裁してスキャンすることに決定。
ググって見たところ、業務用の安いグレードでコストパフォーマンスがいいfi-6130を見付けて衝動買いしました。
自分の衝動買いにしてはいい買い物です。
第一に速い!
600dpiでも分速30P。200Pの雑誌なら7分程度。
さらに、ほとんどダブルフィードしない!
したとしても検知してすぐに止まる!
その上、TWAINに対応しており、Linuxで直接操作出来ます。
そういうことで、今回はLinuxでTWAIN対応のスキャナを使用する方法を書こうと思います。
1・SANEのインストール
SANEをインストールしてスキャナを使用出来るようにします。
- $
sudo apt-get install sane sane-utils
2・スキャンしてみる
手っ取り早くスキャンするなら、
- $
sudo xsane
rootで作業すると云々というメッセージはでますが、無視。
無視するのが嫌なら、lsusbでbusのIDを調べて/dev/bus/usb/以下のデバイスについてのアクセスを許可すればOK
- sanzenin@nagisystem:~$
lsusb - Bus
002 Device 005: ID 0925:1801 Lakeview Research - Bus
002 Device 003: ID 04fe:000d PFU, Ltd - Bus
002 Device 002: ID 046e:5244 Behavior Tech. Computer Corp. - Bus
002 Device 004: ID 047d:2041 Kensington - Bus
002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub - Bus
001 Device 006: ID 04c5:114f Fujitsu, Ltd - Bus
001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- sanzenin@nagisystem:~$
ls /dev/bus/usb/001/006 -l - crw-rw-r--
1 root scanner 189, 5 2010-04-01 01:46 /dev/bus/usb/001/006
xsaneを起動すると、こんな感じ。
大まかな手順は、
1・原稿一枚をセット
2・左側のプレビュー画面での左下にあるAcquire previewをクリックし、プレビューを表示
3・プレビュー画面に表示された原稿を選択してトリミング
4・お好みで色などを調整
5・真ん中のメインウインドウ上部の読み取りページ数(ここでは32になっている部分)でページ数を指定
6・読み取る数だけ原稿をセットし、同ウィンドウのScanボタンでスキャン開始
右側のDF actionなどと書いてある部分はスキャナによって表示は異なるようです。
fi-6130の場合は、ダブルフィードを検出する方法の選択(傾き、超音波、長さ)、背景色(白、黒)、バッファの使用などの設定が出来ます。
細かいパラメータは詳しくないので割愛。
3・コマンドラインからスキャン
GUIは楽でいいですが、カラーページとモノクロページがランダムに入っている雑誌の場合、いちいち設定を切り替える必要があります。
設定をクリックして読むのは非常に面倒なわけで、コマンドでバッチ化出来ればかなり楽になります。また、独自のフロントエンドも作れたりします。
コマンドの場合は、scanimageを使用します。
- $
sudo scanimage \ - --format
tiff \ # 出力はtiff画像 - --mode
Color \ # カラーモードでスキャン - --resolution
300 \ # 300dpi - -b
\ # ? - --source
'ADF Duplex' \ # ADF両面 - --bgcolor
black \ # 背景色黒 - --page-width
182 \ # 横182mm - --page-height
259 \ # 縦259mm - --df-action=Stop
\ # ダブルフードした場合は停止 - --df-thickness=yes
\ # 重なり検知ON - --df-length=yes
\ # 長さ検知ON - --brightness=12
\ # 明るさ12 - --contrast=3
\ # コントラスト3 - --batch="%.4d.tiff"
\ # 連番の振り方 - --batch-start=1
# 連番の開始
他のオプションは、scanimage --helpで確認可能です。
(スキャナに問い合わせて、独自のオプションも拾ってくるので、反応が帰ってこなくてもしばらく待ってください)
4・すごくいい加減なバッチ
- #!/bin/bash
- page=$((`ls
| sort -n | tail -n 1 | grep -o '[0-9]*' | sed 's/^0*//'` + 1)) - while
true - do
- echo
"-----------------------------" - echo
"Current page is $page" - echo
"input [c/l]" - while
true - do
- read
type - if
[ "$type" = "c" -o "$type" = "l" ] - then
- break;
- fi
- echo
"Undefined type. input c or l" - done
- if
[ "$type" = "c" ] - then
- echo
scan color - sudo
scanimage \ - --format
tiff \ - --mode
Color \ - --resolution
300 -b \ - --source
'ADF Duplex' \ - --bgcolor
black \ - --page-width
182 \ - --page-height
259 \ - --df-action=Stop
\ - --df-thickness=yes
\ - --df-length=yes
\ - --brightness=12
\ - --contrast=3
\ - --batch="%.4d.tiff"
\ - --batch-start=${page}
- elif
[ "$type" = "l" ] - then
- echo
scan lineart - sudo
scanimage \ - --format
tiff \ - --mode
Lineart \ - --resolution
600 -b \ - --source
'ADF Duplex' \ - --bgcolor
black \ - --page-width
182 \ - --page-height
259 \ - --df-action=Stop
\ - --df-thickness=yes
- --df-length=yes
\ - --brightness=40
\ - --contrast=55
\ - --batch="%.4d.tiff"
\ - --batch-start=${page}
- fi
- page=$((`ls
| sort -n | tail -n 1 | grep -o '[0-9]*' | sed 's/^0*//'` + 1)) - done
いちいちカラーとモノクロのコマンドを打つのが面倒なので、簡単なバッチファイルを作成しました。
1・カラーとモノクロを選択
2・ADFに入っている原稿をすべてスキャン
3・スキャン終了したら最後の画像+1をbatch-startに設定し、1へ戻る
スクリプトも設定値もかなりいい加減なので、あくまでも参考程度にしてください。
現在、上記スクリプトをGUIで出きるように空いた時間でちまちまプログラム組んでます。(perl-gtk使用)
こちらも出来たらそのうちに公開するかもしれません。
現在はボタンを押したらスキャン開始して、最新の画像をプレビュー表示することが目標ですが、将来的にはトリミングや画質調整が出来ればいいなとか思ってます。
あと、画質の設定値は色々と試行錯誤中。なかなか綺麗にならない。
単行本をスキャンするにあたって、表紙くらいは綺麗にスキャンしたい。モノクロ2値なページならそこそこ綺麗にスキャン出きるが・・・。
とりあえず、全書籍の電子化に一歩近づきました。漫画雑誌はすべてスキャンしようかと思います。
単行本についても雑誌が終わり次第着手。
ラノベは読み終わったものから着手。
漫画はiphoneでも何とか読めますが、ラノベは解像度が高くないとどうしても読みにくいので(約40x40をリサイズなしですべて表示する必要あり)後回しに。
ラノベを読むデバイスとして、iPadにはかなり期待しています。
大きさそこそこ、解像度そこそこ。
静かで持ち歩きも出来るとくれば、便利に使えそうです。
余談ですが、iPadについては日本の電子書籍よりも、個人で自炊したもののビューワとして普及したりしてと思ってみた今日この頃です。
さらに余談ですが、念のため・・・スキャンしたデータはどこかに公開とか流出とかさせないようにしてください。あくまでも私的利用の範囲内で。
自分の場合は、内部からのみアクセス可能なサーバーに保存。外部からは自分専用のOpenVPN経由でしかアクセス出来ないようにしています。(というか、自作ビューワが適当すぎてry)
あと、原本については、後々スキャンすることがあるかもしれないので、ダンボールに入れてクローゼットに保管しています。
コメント
コメントフォーム
トラックバック
最近の記事
- もうすぐ健康診断があるんだ・・・ [2010年09月02日 : 阿部恵]
- Photoshopで壁紙を作りながら、基本的な使い方を覚える [2010年09月01日 : 鴨田健次]
- はじめての共同作業 Canvas編 (node.js + websocket) [2010年09月01日 : 中川善樹]
- 「PHP×Flex(後編)」PHPテクニカルセミナー(無料)第4弾の募集を開始しました!! [2010年08月26日 : 和田記光]
- 【HTML5】Canvasでお絵かきしてみた(前編) [2010年08月25日 : 橋本章史]
- MacにgroongaのMySQL用ストレージエンジン [2010年08月23日 : 笹亀弘]
- Appleのサイトで見たiPhone4をFireworksで描いてみました-1/2 [2010年08月19日 : 和田記光]
- iPad版の会社紹介を作ってみました [2010年08月19日 : 小林有佳]
- iPhoneアプリ開発開始時に気をつけるべきファイルの取り扱い (2) [2010年08月19日 : 亀本大地]
- symfonyセミナー動画無料公開! [2010年08月13日 : 岡本雄樹]



捨てるか貸倉庫借りるか、迷ってるところです。