rtf是一种富文本格式,根据RFC的规范,可以将其转为各种文件,如doc,wps等,但如果真的要根据RFC规范一点点的写程序,那就真的太累了。所以。。。我用wps转换了。
以前写过wps生成文档的程序,就是这篇闲着无聊,用WPS生成文档,现在,这个RTF转换到HTML也可以用PHP来完成
PHP代码
- <?php
- $wps = new COM('WPS.Application');
- $wps->Visible = false; //不显示wps界面
- $filename = realpath('./RTF_to_HTML_Converter.rtf');
- $stime = microtime(1);
- for ( $ii = 0; $ii < 1000; $ii++ ){
- $savedfile = "c:\\convert\\{$ii}_test.html";
- $doc = $wps->Documents->Open($filename);
- $doc->SaveAs($savedfile, 8); //参考Document.SaveFormat 属性
- $doc->Close();
- }
- $wps->Quit();
- echo( sprintf( "%0.6f" , (microtime(1)-$stime) ) );
- unset( $doc , $wps );
测试了一下,生成1000个文件,花了257秒,4分多种,可以接受这个时间,只是在转换的时候,CPU超过50%,而且是在命令行下的。如果是在网页界面肯定是没有这么快的了。
PS:转换后,中文编码实体化了,看看中文怎么转,变成这样的格式,它是什么内容呢?它们就是:【看看中文怎么转】<-- 可以看一下源码,就知道这7个字是什么样的了