将RTF转换为HTML会去除HTML表格。

13

我有以下代码可以将rtf文本转换为html:

private string RtfToHtml(string rtf)
{
    IRtfDocument rtfDocument = RtfInterpreterTool.BuildDoc(rtf);
    RtfHtmlConverter htmlConverter = new RtfHtmlConverter(rtfDocument);
    return htmlConverter.Convert();
}

这段内容摘自代码项目上的这个库。

如果我的RTF文本包含HTML表格,如下所示:

{\*\htmltag96 <table cellspacing="0" border="0" width="600">}\htmlrtf {\pard\plain \f0\fs24 \htmlrtf0 

这些标签会在生成的HTML文本中被删除。我该怎样保留它们呢?

然而,表格中的任何文本或细节都将保留下来。这导致由于缺少表格而使HTML文本格式不正确。


尝试使用此链接:https://code.msdn.microsoft.com/windowsapps/Convert-RTF-file-to-HTML-4d3b70e6 - Ashish Bahl
@AshishBahl 没有删除任何HTML表格。 - TheLethalCoder
你能分享你的代码片段吗? - Ashish Bahl
@AshishBahl 关于SautinSoft的代码?我刚从你提供的链接下载了测试项目,并将rtf文件替换为我的文件。然后,我还需要从他们的网站下载dll。 - TheLethalCoder
1个回答

3
在您获取的库的介绍文章末尾附近写道:
没有以下RTF布局元素的特殊支持: - 表格 - 列表 - 自动编号 - 所有需要了解Microsoft Word的含义的功能...
这个项目可能很有帮助:rtf2html 它声称可以处理比任何其他现有转换器更好的表格。但是,它是用C++编写的,而据我所知,您正在使用C#。
既然如此,您可能需要查看该项目中的一些源代码,以帮助您用C#重写相同的内容。
就目前而言,我不认为已经存在可以正确处理表格的现有C#库。

请注意,此转换器非常老旧,也不支持图像和超链接等功能。此外,这只是一个仅包含链接的答案,最好像问题的先前评论者所做的那样发布为评论。 - TheLethalCoder
还要注意的是,这似乎不起作用,请不要发表建议,而是提供实际答案。 - TheLethalCoder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接