我有一个jquery Rich Textbox编辑器( http://jqueryte.com/ ),它允许最终用户填写其内容以生成Word文档报告。

过程如下:

用户填写内容->将Richtext框内容的HTML保存到数据库中。 ->从数据库中提取存储的HTML内容,并将其转换为RTF字符串,以便在Microsoft Word中打开它。

我尝试将HTML转换为RTF(该函数将接受我的HTML字符串并给出等效的RTF字符串),但是它变得太复杂了,无法操作所有HTML标记。 我进行了很多搜索,但找不到该问题的任何解决方案(至少不是免费的解决方案除外)。

任何帮助将不胜感激。

提前致谢。

#1楼 票数:0

一种选择是使用MS Office Word Interop(尽管有些人不赞成)...

string html = "<html><head><style>p{margin:0}</style></head><body style=\"font-family:Arial;\">" + value.Replace("<p>&nbsp;</p>", "<p><br></p>") + "</body></html>";

byte[] htmlBytes = Encoding.UTF8.GetBytes(html);

string htmlPath = Path.GetTempFileName() + ".html";
string rtfPath = htmlPath.Replace(".html", ".rtf");

FileStream fs = new FileStream(htmlPath, FileMode.Create, FileAccess.Write);
fs.Write(htmlBytes, 0, htmlBytes.Length);
fs.Close();

Application word = new Application();
Document doc = word.Documents.Open(htmlPath);
doc.SaveAs(rtfPath, WdSaveFormat.wdFormatRTF);
doc.Close();
word.Quit();

fs = new FileStream(rtfPath, FileMode.Open, FileAccess.Read);
byte[] rtfBytes = new byte[fs.Length];
fs.Read(rtfBytes, 0, rtfBytes.Length);
fs.Close();

string rtf = Encoding.ASCII.GetString(rtfBytes);

Thread thread = new Thread(() =>
{
    RichTextBox rtb = new RichTextBox();

    rtb.Rtf = rtf;

    rtf = rtb.Rtf;
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
return rtf;

我使用RichTextBox和Word的原因是Word的RTF文件非常庞大...当将Word的RTF数据输入到RichTextBox中时,它会过滤掉所有不需要的代码。

  ask by Sarat Chandra translate from so

未解决问题?本站智能推荐:

1回复

HTML/JSP/JSRTF编辑器,可保存到RTF文件

我一直在寻找完全基于Web的Rich Text Editor的API /教程/程序。 我发现了多个,但是我想要一个具有以下特征的富文本编辑器: 基于浏览器,以HTML,JSP,Java Servlet或Java脚本编码。 直接保存到.rtf文件中 可以打开.rtf文件 非
1回复

隔离富文本以保护页面上其余的HTML?

我在表单上有一个TinyMCE RTF编辑器,用于注释(工作工具)。 我一直遇到问题,富文本中的编码和字符破坏了显示这些注释的页面上的HTML其余部分。 有没有办法在某种类型的容器中隔离或限制一些富文本HTML代码,以保护页面上其余的HTML? 我一直在尝试搜索,但我想不出不会使Goo
2回复

将具有图像的RTF文件转换为HTML

我正在使用Windows应用程序来开发我的项目。 在一种情况下,我需要将RTF文件转换为HTML并进行打印。 在包含图像的RTF文件中。 简单地说,我可以将RTF转换为HTML。 但是图像无法转换。 它不在HTML文件中。 那么,谁能就此提出一些想法,我该如何将包括图像的RTF文件
2回复

从纯文本生成HTML

我有一个桌面应用程序,在只读RichTextbox组件中显示文本。 根据先前执行的文本分析,需要突出显示文本中的某些单词。 现在,我需要创建此应用程序的网络版本。 我知道有几种富文本编辑器可用,但我想知道是否有一个库或一种简单的方法可以从纯文本和要突出显示的单词列表中生成正确标记的HT
3回复

GWT是否具有显示RTF类型数据的richtextbox?

我正在使用GWT Richtextbox ,但是此小部件显示的是简单文本或HTML格式的值。 有什么方法可以在GWT-Richtext或GWT-htmlEditor小部件中显示RTF数据吗? 还是其他GWT库中有一个小部件可以做到这一点?
2回复

iPhone以编程方式解析RTF文件格式

我想编辑一个文本文件(基本上是富文本编辑),例如使一些文本变为粗体,更改字体,颜色等。我发现了许多富文本编辑器程序。 但是我需要解析.rtf文件并显示内容,使其可以编辑并将其保存回.rtf文件。 因此,我不知道如何读写.rtf文件。
1回复

将MemoryStream中的RTF内容附加到XamRichTextEditor的最简单方法是什么

我正在尝试从标准System.Windows.Controls.RichTextBox控件合并RTF上下文,并将其附加到XamRichTextEditor控件的当前RTF上下文的末尾。 当前,我的以下代码在第一行上引发了空引用异常,我尝试引用临时XamRichTextEditor的“ Acti
4回复

在.NET中将RTF转换为HTML

我已经设法使用WebBrowser和RichTextBox进行相反的操作。 但是我如何将 RTF 转换为 HTML?