2012年08月08日

SakuttoBook、PDFのユニバーサル化への道 その1

 SakuttoBookはiPhoneとiPadのユニバーサルアプリだが、いままでの問題は単一のPDFを表示する機能しか持っていなかった。そのためiPhone用にPDFを作成して、そのアプリをiPadで開くとテキストがそのまま大きく表示されてしまう。逆にiPadサイズでPDFを作成すると、iPhoneでは文字が小さくなってしまう。iPhoneとiPadで表示するPDFを切り替えられないのかというのが、ここ数ヶ月のSakuttoBookの課題であった。

  もともとiPhone用のPDFとiPad用のPDFを切り替えて使う方法は考えていなかった。それは次善の策だった。最初は、iPhoneで作成したPDFをiPadで横向きにし見開き表示するようにしようとしていた。ところが、開発が思うようにいかず、予想したより難しかった。さらにiPhone用PDFを見開きで並べてもiPadではまだまだ大き過ぎた

 iPadで表示するときにマージンを大きく計り、iPhone用PDFをレイアウトすればもうすこし読みやすいものができたかもしれないが、そうすると開発の行程が増える。そこで次善の策をとることにした。もともとPDFは固定レイアウトなので、デバイスにあわせたレイアウトを行い、使い分けるのが基本だろう。

 PDFを使うといっても、PDFビューワーではデバイスにあわせてPDFを切り替えるという技はあり得ない。アプリだからこそできることである。そうすれば、デバイスサイズに合わせたレイアウトをiPhoneやiPadに反映できることになる。いずれ固定レイアウトも採用したEPUBも、複数の固定レイアウトをデバイスにあわせて差し替えるようになるかもしれない。

 SakuttoBookでPDFを切り替えるバージョンは今年の春にはほぼ完成していた。iPhone用のiPad用のPDFを取り込んで、デバイスにあわせてそれぞれのPDFを自動的に表示する機能である。一部のアプリで実際に試してみた。PDFの差し替えは問題なく動作した。

 ただしそのバージョンはCSVの切り替えができていなかった。たとえばSakuttoBookではナビゲーションバーに表示する目次は、SakuttoBook内に取り込まれているCSV形式のテキストファイルを読み込んでアプリに反映する仕様になっている。目次以外の画像の別ウィンドウ表示や動画もCSVで指定する。PDFをデバイスにあわせて切り替える場合は、当然ながらCSVも切り替えが必要だった。そのためリそのバージョンはリリースを見合わした。

 ところがCSVファイルヘのアクセスをデバイスにあわせて切り替える場合、内部にかなり手を加えないといけないことになり、なかなか進まなかったのである。たとえば、マルチコンテンツで切り替えができたと思って検証すると、シングルコテンンツではできなかったりした。

 効率のいいプログラミングも必要だし、CSVファイルを変更しても、いままでの使いやすさを失うわけにはいかない。そうこうしているうちに、時間がずるずるとかかってしまった。それがやっと完成したのである。というわけで、シングルコンテンツ版の仕組みを動画で解説した。それがこれである。


YouTube用テキストSakuttoBookVer20シングル版


 iPhoneとiPadの2つのPDFを作成し、SakuttoBookに取り込む。最初からPDFは取り込んであるので、同じ名前で差し替えるだけでよい。アイコンも同じように差し替える。あとは、SakuttoBookをXcodeで開いて、それぞれのCSVファイルにiPhone用とiPad用のテキストを入力していくだけである。目次は

iPhone用  tocDefine.csv
iPad用   tocDefine-ipad.csv


という具合に使い分ける。iPhone用のテキストは「tocDefine.csv」に入力し、iPad用はCSVのファイル名に「-ipad」を追加した「tocDefine-ipad.csv」のファイルに入力するだけである。簡単にいうと、2つのコンテンツを用意し、それぞれを1つのSakuttoBookのプロジェクト内に取り込んでいくわけである。

120808-01.gif
*PDFの切り替えは「pdfDefine.csv」でiPhone用PDF、半角カンマ、iPad用PDFを指定するだけ。1つのPDFを指定する場合指定したPDFをiPhoneとiPadで表示する。デフォルトは1つのPDFしか指定していないので、切り替えするときに2つのPDFを指定する。


 指定した仕様でPDFを取り込み、CSVを指定すると、あとは勝手にデバイスにあわせてPDFとCSVファイルが切り替えられるのである。

 気になるのは今後のiOSデバイスのバリエーションだろう。新しいiPhoneは、画面サイズが大きくなりアスペクト比も変わるという。ただし左右のピクセル数は変わらないので、天地方向を余白にすれば、現在の仕様でも使えるだろう。iPadの7インチサイズは、iPadでのPDFを少し文字を大きめにすれば、それほど問題はないのではないかと思う。そのあたりは実際にリリースされてみないとわからない。またデバイスを切り替え可能かどうかも不明だろう。

 おもったより長い道のりだったが、PDFユニバーサル版は完成した。SakuttoBookユーザーの方には無償でバージョンアップ版をお届けする予定である。マニュアルも作り直さないといけないが、それはこれからである。とりあえず、動画をご覧いただきたい。



◆Xcode 4でする実機インストールの動画チュートリアルをアップ
http://bit.ly/JEofvK

◆Xcode 4でiOSアプリの設定と申請を最短距離でする方法
http://bit.ly/Jk88Bc

◆SakuttoBook(サクッとブック)でiPhoneアプリを作る方法
http://bit.ly/mhgjCG

◆SakuttoPubliパーソナル:iPhoneブックアプリ開発・申請代行はお任せ下
さい。
http://bit.ly/swjdFW

◆Xcode 4対応のSakuttoBook Lite版ならぬTrial版、無料ダウンロード開始
http://denshi-shoseki.seesaa.net/article/263470895.html

 


タグ:iPhoneアプリ
posted by @jink0222 at 21:24 | Comment(0) | TrackBack(0) | SakuttoBook日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック