2011-01-12 70 views
3

我一直在試圖找到一個免費的(最好是開源的)組件或庫,這將使一個RTF文件轉換帶有嵌入式圖像轉換成HTML文件和圖像文件或HTML更好和圖像流。如何在Delphi中將RichText(RTF)文檔與圖像轉換爲HTML?

完美的解決方案,無論它是DLL庫還是Delphi組件,都可以使用回調將數據傳輸到IStream/TStream,因此我可以將圖像轉換並保存爲選擇的格式,以返回圖像文件相對RTF解析器的名稱包含在生成的HTML文件中,但保存原樣也很好,特別是當代碼是開源的時候。

我遇到過商業解決方案,但我很難考慮它們,因爲將一種文檔類型(相對)簡單地轉換成另一種文檔類型的價格相當高,並且兩種格式都是20年,這表明必須有現有的庫,不受管理)進行此類轉換。

如果我找不到解決方案,我可能會將this代碼轉換爲Delphi dll並使其可用,但也許有人已經做到了這一點?

編輯:

我們決定使用上述淨RtfConverter編譯成一個DLL,從中並迫使客戶產生德爾福TLB單元來安裝.NET Framework(嵌入安裝)。現在轉換工作就像一個魅力,另一個跡象是時間從德爾福移動到.Net ...

+1

的RTF規範並不簡單,轉換並不像看起來那麼簡單。實際的RTF文檔比簡短的文本片段更復雜一些粗體和斜體。考慮Unicode和本地化,多種字體和CSS以及頁眉和頁腳以及段落格式和表格以及嵌套表格等。除了一些將RTF轉換爲HTML的商業軟件工具之外,並不是所有的軟件工具都值得他們收費。我沒有寫過一個,但使用了一個價格爲499美元的軟件,現在可以在託管代碼版本(100%C#)中使用。 – Tim 2011-01-12 10:39:08

+0

也許簡單不是這樣的轉換一個正確的描述,但RTF標籤列表是非常有限的,Windows和德爾福都有設施,在國際字符工作。保存HTML文件在unicode與< and >字符逃脫也是我考慮的可能性。我提到的庫是一個在託管C#代碼中的工作解決方案,我試圖避免使應用程序依賴性儘可能低。 – too 2011-01-12 10:50:06

+0

商業RTF到HTML轉換器的價格約爲130美元(無版權費) - 包括完整的德爾福源代碼 – mjn 2011-01-12 11:57:38

回答

3

如果你可以使用微軟辦公室打開RTF,然後將其保存爲HTML在後臺,那麼我相信這是您的最佳解決方案,只需在後臺使用OLE激發Microsoft Word實例,加載RTF,然後將其導出爲HTML ...

3

將RTF轉換爲HTML 4.01/HTML5和RTF的商業轉換器可用於各種風格的XHTML是ScroogeXHTML for Delphi。版本5.0包括改進的圖片支持,以及用於WMF到PNG轉換的示例代碼。 (我是這個組件的開發者,也是Java平臺的開發者)。

-1

P.S:我是這個產品的開發。

這是商業.Net庫到convert RTF to HTML 3.2, 4.01, XHTML 1.01 and HTML 5。它

支撐在HTML,Unicode的,特殊的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");