[iOS] UIWebView でリッチテキスト形式のファイル(*.rtfd)を表示する

2010年12月29日水曜日 | Published in , , | 0 コメント

[前回] Cocoaの日々: [iOS] UIWebView でワード書類を表示する

Mac OS X では意外と使いでのあるリッチテキスト形式のファイルも試してみた。

サンプル


元となるリッチテキスト形式のファイルは図入りのものを用意した(Mac OS X 10.6上のテキストエディットで作成した)。拡張子は *.rtfd になる。

iPhoneシミュレータでの実行結果。

iPadシミュレータでの実行結果。悪くない。

全体的に再現性は高い。もともとリッチテキストの表現能力が高くないせいだろう。


実装


基本的にこれまでと同じ
Cocoaの日々: [iOS] UIWebView でエクセルシートを表示する

図入りのリッチテキスト形式の場合、拡張子が .rtfd で実体はフォルダ(パッケージ)となる。UIWebView で読み込む場合は、この rtfdをZIP圧縮して *.rtfd.zip という形で使う。
- (void)load4:(id)sender
{
 NSURL* url = [[NSBundle mainBundle] URLForResource:@"sample4"
 withExtension:@"rtfd.zip"];
 NSURLRequest* req = [NSURLRequest requestWithURL:url];
 
 [self.webView loadRequest:req]; 
 
}

[参考] Technical Q&A QA1630: Using UIWebView to display select document types
上記より引用:

IMPORTANT: Rich Text Format Directory (.rtfd) documents are document packages and must be ZIP compressed for UIWebView to recognize them. You must retain both extensions in the file name, such as document.rtfd.zip.
iWork '09 documents do not use a package format and must not be ZIP compressed.


ソースコード


GitHub からどうぞ。
xcatsan/iOS-Sample-Code at 2010年12月29日 - GitHub



備考


RTFDは開発ドキュメントを書くのに意外と役立つ。Xcodeだと標準で表示・編集ができて Subversion/Git にソースコードと一緒に同梱することができる。実装情報やバージョンアップ時の運用方法などソースコードの運用に必要なドキュメントに使うと良いと思う。

Responses

Leave a Response

[フレーム]

人気の投稿(過去 30日間)

  • 2011年06月09日 追記  UITableViewCell の Identifier 設定を忘れてたので追記しました。 UINib を使うと簡単に Nib で定義した UITableViewCell が使える。 今回のサンプル: [関連] Cocoaの日々: [iO...
  • Asset Catalogには画像以外のデータも置ける。サウンドファイル(.aif)を置いてみた。 取り出すには NSDataAsset を使う。 let sound = NSDataAsset(name: name) // use sound.data 取り出したサウ...
  • Core Data を使ったアプリケーションで下のような検索機能を実装している。 設定された値を元に NSPredicate を作成し、Core Data に対して検索をかけるのだが、こういう場合に NSCompoundPredicate が役に立つ。 NSCompound...
  • UIImage からサムネイル用途で使用する縮小画像を作る。 縮小処理 こんな感じ。 @implementation UIImage (extension) - (UIImage*)imageByShrinkingWithSize:(CGSize)size { CGF...
  • [前回] Cocoaの日々: [Mac] NSArrayController に Undo/Redo を実装する [4] 初期値ありの場合 選択状態も Undo/Redo してみる。 選択状態の Undo/Redo NSArrayController の選択に関係するメ...

AltStyle によって変換されたページ (->オリジナル) /