服务器上如果装有word或wps软件,可以通过其api接口访问word数据。php的语言我不是很会,但我经常用vb做office的二次开发。
10年积累的成都网站设计、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有长春免费网站建设让你可以放心的选择与我们合作。
office 软件的 api接口,可以参考微软msdn。
jeyyu的代码中浏览器中执行时需要降低浏览器的安全设置,不方便,而且取得的内容只是到剪贴板
你可以试试SOAOffice中间件,这个是专门读写word的类,联系科翰索要php代码示例
你说的是端口问题吧,最近SOAOffice中间件推出了免端口版本。个人体会,SOAOffice编程调用上,要比金格的全文批注简单得多
有个比较笨但是很有效的方法,不过要服务器支持才行~~用exec执行antiword或者catdoc这样就可以获得doc的文本内容~~DOC中的图片我不知道能不能弄出来~~在命令行下没试过
window下可以用COM类来实现读取word内容,linux下可以通过安装antiword包来实现获取word内容。
方法有两个:
1. 直接用php读取文件,然后以BLOB流的形式存入数据库,这种方法是不能查询文件内容的,只能把数据库当成一个容器来用。
2. 先将word文档转换成xml文档,word菜单里另存为xml就行,然后用php分析这个xml文件,把其中的内容存进数据库。好处word文档的内容可以通过数据库来查询,但是还原成原word文档不能保证100%的word格式无损失(word 2010之后的版本对这个问题有改进)。
目前程序编译语言有很多种,其中php是最为常见的一种编程语言。php读取word文档是很多朋友都想了解的,下面就由达内的老师为大家介绍一下。
?php
/*
*
必须将
php.ini
中的
com.allow_dcom
设为
TRUE
*/
function
php_Word($wordname,$htmlname,$content)
{
//获取链接地址
$url
=
$_SERVER['HTTP_HOST'];
$url
=
";
$url
=
$url.$_SERVER['PHP_SELF'];
$url
=
dirname($url)."/";
//建立一个指向新COM组件的索引
$word
=
new
COM("word.application")
or
die("Unable
to
instanciate
Word");
//显示目前正在使用的Word的版本号
echo
"Loading
Word,
v.
{$word-
Version}";
//把它的可见性设置为0(假),如果要使它在最前端打开,使用1(真)
$word-Visible
=
1;
//---------------------------------读取Word内容操作
START-----------------------------------------
//打开一个word文档
$word-Documents-Open($url.$wordname);
//将filename.doc转换为html格式,并保存为html文件
$word-Documents[1]-SaveAs(dirname(__FILE__)."/".$htmlname,8);
//获取htm文件内容并输出到页面
(文本的样式不会丢失)
$content
=
file_get_contents($url.$htmlname);
echo
$content;
//获取word文档内容并输出到页面(文本的原样式已丢失)
$content=
$word-ActiveDocument-content-Text;
echo
$content;
//关闭与COM组件之间的连接
$word-Documents-close(true);
$word-Quit();
$word
=
null;
unset($word);
//---------------------------------新建立Word文档操作
START--------------------------------------
//建立一个空的word文档
$word-Documents-Add();
//写入内容到新建word
$word-Selection-TypeText("$content");
//保存新建的word文档
$word-Documents[1]-SaveAs(dirname(__FILE__)."/".$wordname);
//关闭与COM组件之间的连接
$word-Quit();
}
php_Word("tesw.doc","filename.html","写入word的内容");
?