2

uiwebview で rtf ファイルの内容を表示しようとしています。これを行うには、rtf の内容を nsmutablestring に取り込み、それを uiwebview にロードします。

問題は rtf のコンテンツにあり、rtf タグとフォーマットも nsmutablestring で渡されます。したがって、コンテンツ全体が rtf 形式で uiwebview に表示されます。

nsmutable 文字列から rtf 形式とタグを削除するにはどうすればよいですか? 私はウェブ上で多くのことを検索しましたが、満足のいく結果は得られませんでした。

コードは次のとおりです。

UIWebView *webView = [[UIWebView alloc]init];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Home" ofType:@"rtf"]; 
NSMutableString *rtfString = [[NSMutableString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL];
NSMutableString *htmlString = [NSMutableString stringWithFormat:@"<font face=\"verdana\" size=\"2\" color=\"green\">%@</font>",rtfString];
[webView loadHTMLString:htmlString baseURL:nil];    

これは、uiwebview に表示される rtf ファイルの出力です。

{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf290
{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
{\colortbl;\red255\green255\blue255;}
\deftab560
 \pard\tx560\pardeftab560\ql\qnatural\pardirnatural

\f0\fs22 \cf0 \CocoaLigature0 This is Sample Text. Lorem ipsum dolor sit er elit lamet,    consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.\


\
\

 Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.\

\
\

This is sample text.\

\    
\
  This is sample TExt.}

段落間のすべての「\」は、段落の終わりまたは段落の開始を意味する空白です。この結果全体がそのまま uiwebview に表示されます。では、これをどのようにフォーマットしますか?使用すべきクラスまたはフレームワークはありますか?

4

1 に答える 1

1

テキストの書式設定を追加できるかどうか、またはどのように追加できるかはわかりませんが、rtf を表示しようとしている場合はloadRequest代わりに使用する必要があります。loadHTMLString

UIWebView *webView = [[UIWebView alloc]init];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Home" ofType:@"rtf"]; 
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webview loadRequest:request];
于 2010-07-30T11:29:30.013 に答える