2011-01-12 15 views
3

私は、埋め込まれた画像を含むRTFファイルをHTMLファイルと画像ファイル、またはより良いHTMLと画像ストリームに変換することを可能にする無料の(好ましくはオープンソースの)コンポーネントまたはライブラリを探しています。リッチテキスト(RTF)文書を画像とともにHTMLに変換するには?

DLLライブラリやDelphiコンポーネントであっても、コールバックを使用してIStream/TStreamにデータをストリームすることができる完璧なソリューションです。イメージを相対的なイメージファイル形式に変換して保存することができます生成されたHTMLファイルに含めるRTFパーサーの名前ですが、そのまま保存することは、特にコードがオープンソースである場合には有効です。

1つのドキュメントタイプを別のドキュメントタイプに簡単に変換するための価格が非常に高く、両方のフォーマットが20年古いため、既存のライブラリが必要であることが示唆されているため、 、管理されていない)。

解決策が見つからない場合は、おそらくthisコードをDelphi dllに変換して使用できるようになりますが、誰かが既にそれを行ったことがありますか?

EDIT:

我々は(インストーラに埋め込まれた).NET Frameworkをインストールするには、DLLとしてコンパイル前述の.Net RtfConverterを使用することから、デルファイTLBユニットを生成し、力の顧客にしました。今の変換は、魅力のように動作します。Delphiから.Netに移動する時間です。

+1

RTF仕様は単純ではなく、変換は見た目ほど簡単ではありません。実際のRTFドキュメントは、簡単なテキストスニペットよりも複雑で、太字や斜体で表示されます。 Unicodeとローカリゼーション、複数のフォントとCSS、ヘッダーとフッター、段落の書式設定と表、ネストされた表などを考慮する必要があります。RTFをHTMLに変換する商用ソフトウェアツールを除いて、私はこれを書いていませんが、$ 499のコストを使用しており、管理コードバージョン(100%C#)で利用できるようになりました。 – Tim

+0

単純なことは、このような変換の正しい説明ではないかもしれませんが、RTFタグのリストは非常に限られており、WindowsとDelphiの両方で国際的な文字を扱えるようになっています。ユニコードでHTMLファイルを< and >の文字をエスケープして保存することも考えられます。私が問題に言及しているライブラリは、アプリケーションの依存性をできるだけ低く抑えようとしているマネージドC#コードの解決策です。 – too

+0

商用RTFからHTMLコンバーターの価格は、約130ドル(ロイヤリティなし)から始まります。フルデルファイソースコード – mjn

答えて

3

Microsoft Officeを使用してRTFを開き、HTMLとしてバックグラウンドで保存する必要がある場合は、これを信じますあなたの最高のソリューションは、ちょうどOLEを使用してバックグラウンドでMicrosoft Wordのインスタンスを起動し、RTFを読み込んでHTMLとしてエクスポートしてください...

+2

残念ながら、これは数百ドル/ GBP/...の価値のある商用製品をマシンにインストールする必要があります。 – too

+0

私はこれに110%同意しますが、ほとんどのユーザーはOfficeをインストールする傾向があります。そのため、ターゲットが特定のクライアントで、Officeスイートを使用している場合は、これをお勧めします。 ... – ComputerSaysNo

+0

..そして2つの問題があります。 –

3

XHTMLの様々なフレーバーにHTML 4.01/HTML5とRTFの商用コンバータScroogeXHTML for Delphiです。バージョン5.0には、WMFからPNGへの変換のためのコード例が含まれています。 (私はこのコンポーネントの開発者であり、Javaプラットフォーム用のコンポーネントです)。

+0

ありがとうございます。私は、ScroogeXHTMLへのフォールバックで有望なように疑問に尋ねられるように、可能な限り無料の解決策を待つことにします。テーブル/リストのサポートを含める予定はありますか? – too

+0

単純な番号付きリストと番号なしリストがサポートされていますが、テーブルは内部中間ドキュメント表現にはうまく適合せず、大きな再設計が必要です(ただし、検討中です) – mjn

-1

P .:この商品の開発者です。

これは商用の.Netライブラリconvert RTF to HTML 3.2, 4.01, XHTML 1.01 and HTML 5です。それ

などHTML、ユニコード、特殊なHTMLシンボルに埋め込まテーブルとネストした表、発注し、箇条書き、画像を変換する

サポート

これは、C#のサンプルコードです:

 SautinSoft.RtfToHtml r = new SautinSoft.RtfToHtml(); 
     r.OutputFormat = SautinSoft.RtfToHtml.eOutputFormat.HTML_5; 
     r.ImageStyle.IncludeImageInHtml = true; 
     r.ConvertFile(@"d:\document.rtf",@"d:\html5.htm"); 
関連する問題