Crystal レポートを電子メールで送信する必要がありますが、Crystal レポートから生成された HTML は見苦しく、一部の電子メール クライアントで問題が発生します。可能であれば、それをリッチ テキストとしてエクスポートし、それを HTML に変換したいと考えていました。
助言がありますか?
CodeProject RTFConverter でこのツールをチェックアウトします。この男は、変換の詳細とともに、プログラムがどのように機能するかを詳しく説明しています。
Mike Stallは、c#で書いたコードをここに投稿しました:
http://blogs.msdn.com/jmstall/archive/2006/10/20/rtf_5F00_html.aspx
MSDN コード サンプル ギャラリーには、HTML、RTF、および XAML 間の変換を可能にするRTF と HTML 間の変換というサンプルもあります。
手を汚してもかまわないのであれば、RTF から HTML へのコンバーターを作成するのはそれほど難しくありません。
汎用の RTF->HTML コンバーターを作成すると、何百もの RTF 動詞を処理する必要があるため、やや複雑になります。ただし、あなたの場合、Crystal Reports で特に使用される動詞のみを扱っています。Crystal によって生成される標準の RTF コーディングは、レポートごとにあまり変わらないと思います。
C++ で RTF から HTML へのコンバーターを作成しましたが、フォント、段落の配置などの基本的な書式設定のみを処理します。私の翻訳者は基本的に、処理する準備ができていない特殊な書式設定を取り除きます。C++ で約 400 行かかりました。基本的に、RTF タグのテキストをスキャンし、同等の HTML タグに置き換えます。リストにない RTF タグは単純に削除されます。このようなコンバーターを作成する場合、正規表現関数は非常に役立ちます。
.NET オフィス プログラマビリティ サポートと Office 用の Visual Studio ツールを使用して、Word ドキュメント オブジェクトに読み込むことができると思います。
次に、ドキュメント インスタンスを使用して、HTML ドキュメントとして再保存します。
方法はわかりませんが、サードパーティのライブラリがなくても.NETで完全に可能だと思います。
私はこれを行うためのライブラリを認識していません (しかし、できるライブラリはたくさんあると確信しています) が、Crystal レポートから HTML を作成できるのであれば、XSLT を使用してマークアップをクリーンアップしてみませんか?
Google ドキュメントにアップロードして、HTML としてダウンロードできます。