2011-01-12 40 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");