web-dev-qa-db-ja.com

RtfをHTMLに変換

電子メールとして送信する必要があるクリスタルレポートがありますが、クリスタルレポートから生成されたHTMLは非常に見苦しく、一部の電子メールクライアントで問題が発生します。リッチテキストとしてエクスポートし、可能な場合はHTMLに変換したかったのです。

助言がありますか?

44
Aaron Smith

CodeProject RTFConverterでこのツールを確認します。この男は、プログラムの動作の詳細と変換の詳細を提供します。

独自の書き込みRTF Converter

30
Richard R

Mike Stallは、C#で書いたコードをここに投稿しました。

http://blogs.msdn.com/jmstall/archive/2006/10/20/rtf_5F00_html.aspx

8
missaghi

また、MSDNコードサンプルギャラリーには RTFとHTMLの間の変換 というサンプルがあり、HTML、RTFとXAMLの間で変換できます。

8
Matthew Manela

更新:

家に帰って、以下のコードを試してみましたが、うまくいきません。疑問に思う人にとっては、クリップボードは私が望んでいたようなものを魔法のように変換するだけではありません。むしろ、アプリケーションがさまざまな貼り付け形式でデータオブジェクトを「アップロード」することができます。その後、貼り付けるプログラム(私の比phorでは「ダウンロード」)を好みの形式に貼り付けます。私は個人的に このコード を使用することになりました。これは以前に推奨されたもので、非常に使いやすく、非常に効果的でした。コードをインポートしたら(VStudioで、[プロジェクト]-> [既存のファイルを追加])、次のようにhtmlからrtfに移動します。

return HtmlToRtfConverter.ConvertHtmlToRtf(myRtfString);

または反対方向:

return RtfToHtmlConverter.ConvertHtmlToRtf(myHtmlString);

(この答えの年表に興味がある人のために、以下は私の以前の間違った答えです)

上記の答えのすべてではないにしても、ほとんどは、手元の問題に対する包括的な、多くの場合、ライブラリベースのソリューションを提供します。私は自分のコンピュータから離れているため、アイデアをテストすることはできませんが、安価で漠然としたハック方法の1つは次の方法です。

private string HTMLFromRtf(string rtfString)
{
            Clipboard.SetData(DataFormats.Rtf, rtfString);
            return Clipboard.GetData(DataFormats.Html);         
}

繰り返しますが、これが機能するかどうかは完全にはわかりませんが、iPhoneでHTMLをいじってみてください。ドキュメントは こちら です。より詳細な説明/ドキュメントREでは、クリップボード内のデータモデルの取得と設定を見つけることができます here

(はい、私は数年後にここにいることを完全に承知していますが、この質問は一部の人々がまだ答えを求めているものだと思います)

4
Max von Hippel

手を汚すことを気にしないのであれば、HTMLコンバータにRTFを書くのはそれほど難しくありません。

汎用RTF-> HTMLコンバーターの作成は、数百のRTF動詞を処理する必要があるため、やや複雑になります。ただし、Crystalで特に使用される動詞のみを処理する場合レポート:Crystalによって生成される標準のRTFコーディングは、レポートごとにそれほど変わりません。

C++でHTMLコンバーターにRTFを作成しましたが、フォント、段落の配置などの基本的な書式のみを扱います。翻訳者は基本的に、処理する準備ができていない特殊な書式を削除します約400行のC++が必要でした。基本的にRTFタグのテキストをスキャンし、同等のHTMLタグで置き換えます。RTF私のリストでは、このようなコンバーターを作成するときに正規表現関数は非常に役立ちます。

2
Kluge