我一直在努力寻找一个免费的(最好是开源的)组件或库,它可以将嵌入图像的RTF文件转换为HTML文件和图像文件,或者更好的HTML和图像流。
完美的解决方案,无论是DLL库还是Delphi组件,将允许使用回调将数据流式传输到IStream/TStream,因此我将能够转换和保存图像为一种选择的格式,返回图像文件的相对名称以便RTF解析器将其包括在生成的HTML文件中,然而,按原样保存也很好,特别是当代码将是开放源代码的时候。
我遇到过商业解决方案,但我很难考虑它们,因为从一种文档类型到另一种文档类型的(相对)简单转换的价格相当高,而且两种格式都有20年的历史,这表明必须有现有的库(本机,而不是托管)来进行这种转换。
如果我找不到解决方案,我可能会将this代码转换成Delphi dll并使其可用,但也许有人已经这样做了?
编辑:
我们已经决定使用前面提到的.Net RtfConverter编译成DLL,从它生成Delphi TLB单元,并强制客户安装.Net框架(嵌入在安装程序中)。现在转换就像一个魔咒,另一个标志是是时候从Delphi转移到.Net了……
发布于 2011-01-12 18:27:52
如果您可以使用microsoft office打开RTF,然后在后台将其保存为HTML,那么我相信这是您最好的解决方案,只需使用OLE在后台启动Microsoft Word实例,加载RTF,然后将其导出为HTML...
发布于 2011-01-13 03:25:51
将RTF转换为HTML4.01/ HTML5和将RTF转换为各种风格的XHTML的商业转换器是ScroogeXHTML for Delphi。版本5.0包括改进的图片支持,以及WMF到PNG转换的示例代码。(我是这个组件的开发人员,也是Java平台的对应组件)。
发布于 2012-05-28 15:04:53
附言:我是这个产品的开发者。
这是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");https://stackoverflow.com/questions/4667658
复制相似问题