如何在Delphi中将带有图像的RichText(RTF)文档转换为HTML?

时间:2011-01-12 10:24:01

标签: html delphi rtf richtext

我一直在努力寻找一个免费的(最好是开源的)组件或库,它允许将带有嵌入式图像的RTF文件转换为HTML文件和图像文件或更好的HTML和图像流。

完美的解决方案,无论是DLL库还是Delphi组件,都允许使用回调将数据流式传输到IStream / TStream,因此我将能够将图像转换并保存为选择的格式返回图像文件的相对名称要使RTF解析器包含在生成的HTML文件中,但保存原样也很好,特别是当代码是开源的时候。

我遇到了商业解决方案但我很难考虑它们,因为(一种)文档类型(相对)简单转换的价格非常高,两种格式都是20年,这表明必须有现有的库(本机,没有管理)进行这样的转换。

如果我找不到解决方案,我可能会将this代码转换为Delphi dll并使其可用,但也许有人已经这样做了?

编辑:

我们决定使用前面提到的。RtfConverter编译为DLL,从中生成Delphi TLB单元并强制客户安装.Net框架(嵌入在安装程序中)。现在转换就像一个魅力,另一个标志是时候从Delphi转移到.Net了......

3 个答案:

答案 0 :(得分:3)

如果您可以使用microsoft office打开RTF然后在后台保存为HTML,那么我相信这是您最好的解决方案,只需在后台使用OLE激活Microsoft Word实例,加载RTF然后导出它作为HTML ......

答案 1 :(得分:3)

用于RTF到HTML 4.01 / HTML5的商业转换器和用于各种XHTML的RTF是ScroogeXHTML for Delphi。版本5.0包括改进的图片支持,以及WMF到PNG转换的示例代码。 (我是该组件的开发人员及其Java平台的对应部分。)

答案 2 :(得分:-1)

P.S:我是这个产品的开发者。

这是convert RTF to HTML 3.2, 4.01, XHTML 1.01 and HTML 5的商业.Net库。它

支持使用表和嵌套表,有序和项目符号列表,嵌入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");