RTF文件,如何解析。
RTF文件,如何解析?指点方法
{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fswiss\fcharset0 Arial;}}
{\colortbl ;\red255\green0\blue0;\red255\green255\blue0;\red0\green128\blue0;\red0\green0\blue0;}
\viewkind4\uc1\pard\cf1\lang2052\f0\fs24\'d1\'fd\'b8\'e7\'a3\'ac\cf2\highlight3\lang0\f1\fs20\u35874?\u35874?\u24744?\u65281?\cf4\par
}
不知道如何解析,我想读出文字内容。
[解决办法]
一个折中的方法。
#include <ComCtrls.hpp>
String __fastcall RtfToTxt(TForm *frm, String strRtf)
{
TRichEdit *re = new TRichEdit(frm);
TMemoryStream *ms = new TMemoryStream;
re->Parent = frm;
re->PlainText = false;
ms->Size = strRtf.Length();
ms->Write(strRtf.c_str(), strRtf.Length());
ms->Position = 0;
re->Lines->LoadFromStream(ms);
re->PlainText = true;
String str = re->Lines->Text;
delete ms;
delete re;
return str;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Caption = RtfToTxt(this, Memo1->Lines->Text);
}
将你以解析的文本放到Memo中,然后运行以上的代码。不过解析后的文本让我很汗颜啊。呵呵。
[解决办法]
忍耐不住好奇心,看了看rtf内容,楼主果然有先见之明啊。
[解决办法]
查了一下,这个链接是微软关于RTF格式的定义标准
http://www.microsoft.com/en-us/download/details.aspx?id=10725
这几个链接是如何分析RTF格式的一些经验
http://blog.sina.com.cn/s/blog_678e5e320100oxz5.html
http://blog.csdn.net/shaxunyeman/article/details/1813684
http://www.txsz.net/xs/delphi/3/RTF%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F%E5%88%86%E6%9E%90%E5%8F%8A%E5%9C%A8%E5%A4%9A%E5%AA%92%E4%BD%93%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8.htm
[解决办法]
这个,妖哥是先看了RTF内容后做的代码吧....
:)
[解决办法]
如果只是要获取rtf文字不需要自己解析,直接使用控件如TMemo或TRichEdit载入就行了;如果想要得其中字体样式、颜色、名称、大小等信息就需要自己解析啦,很巧,我以前做过一个,
地址:http://download.csdn.net/detail/qq752923276/2913731
[解决办法]
char AsciiBuff[2];
改成
char AsciiBuff[3];
就可以了