経緯
昔、不自由な電子書籍(単独アプリのタイプ,数百ページ)を、iPadで1枚1枚スクリーンショットを撮って自由なpngにした後にPDFにしたことがあった。スクリーンショットを撮ってページを送ってというのを延々と繰り返していた。
アニメ見ながら無心で作業するとかなら案外なんとかなる。まああまりやりたくないですね。
現状
iOS/Androidの電子書籍系アプリというのは、だいたいDRMがついてて、フリックで次のページに移動して、スクリーンショットは普通に取れるという感じではないかと思う。*1*2
スクリーンショットの撮影を自動化すると、様々なアプリで汎用的に利用でき、法的にも問題なく良いのではという気がしたので、Androidでの実現性について調べた。
なお、スクリーンショットを封じていたWindowsの電子書籍ソフトウェアのスクリーンショットを、無理矢理撮影するソフトウェアの製造で逮捕された事例が存在する。
技術的保護手段の回避
がどこまで適応されるのかはわからないが、普通にスクリーンショットを撮影できるアプリならば大丈夫なのでは。
http://www.itmedia.co.jp/news/articles/1402/20/news045.html
方法
これを実現するためには、
調査の結果root権限が無くとも、adbが利用できれば両者を実行できることがわかった。
adb shell screencap -p /sdcard/sc.png
adb shell input touchscreen swipe 500 500 1000 500
の2つを用いて、目的の操作が可能なことを確認した。(isai LGL22 Kitkat)
コマンドの実体は端末の/system/bin/ にあるので、adb shellの権限で適当に叩けばよさそう。
iOSでやろうとするとJailbrokenなデバイスでなんかやるんですかね(適当)
問題点
当然、スクリーンショットで自由化する問題点が引き継がれる。
- 文字データとして利用できない
- スクリーンショットの画像の解像度が端末の解像度に制限される
結論
DRMが死んでほしい