在PHP中读写MS Word文件

32

在不使用COM对象的情况下,能否在PHP中读写Word(2003和2007)文件? 我知道我可以:

$file = fopen('c:\file.doc', 'w+');
fwrite($file, $text);
fclose();

但是Word将把它视为HTML文件而不是本机的.doc文件。

我认为如果不使用COM,你很难实现这个。 - Peter Bailey
16个回答

1

我不知道你要用它来做什么,但我需要.doc支持进行搜索索引;我使用了一个叫做“catdoc”的小型命令行工具;这将Word文档的内容转换为纯文本,以便进行索引。如果你需要保留格式和其他东西,那么这个工具并不适合你。


1

phpLiveDocx 是一个 Zend Framework 组件,可以在 Linux、Windows 和 Mac 上使用 PHP 读写 DOC 和 DOCX 文件。

请访问项目网站:

http://www.phplivedocx.org


参考链接已失效。 - Zameer Khan

1

使用PHPDocX是一种有趣的方式,可以通过PHP操作Word文件。您可以查看其在线教程以了解其工作原理。您可以插入或提取内容,甚至将多个Word文件合并为一个。


0

你的目的是否适用于 .rtf 格式?.rtf 可以很容易地在 .doc 格式之间进行转换,但它是以纯文本编写的(嵌入控制命令)。这就是我计划如何将我的应用程序与 Word 文档集成。


情况并不重要,问题是是否可能,但还是谢谢。 - UnkwnTech

0

我也在做同样类型的项目[在线文字处理器]!但是我选择了c#.net和ASP.net。但是通过我所做的调查,我知道了

通过使用Open XML SDK和VSTO [Visual Studio Tools For Office]

我们可以轻松地处理Word文件,甚至将其内部转换为多种格式,如.odt、.pdf、.docx等。

因此,请访问msdn.microsoft.com并仔细阅读办公开发选项卡。这是最简单的方法,因为我们需要实现的所有功能都已经在.net中提供了!

但是,由于您想要在PHP中完成项目,您可以在Visual Studio和.net中完成,因为PHP也是.net兼容语言之一!


0

我有同样的情况。我想我会使用一个廉价的50兆Windows主机带有免费域名,用它来转换我的文件为PHP服务器。而且连接它们很容易。你只需要创建一个ASP.NET页面,通过POST接收doc文件并通过HTTP回复即可,所以简单的CURL就可以完成。


1
看起来这似乎是唯一的方法。你能提供更多细节吗?我的意思是,我应该去购买一个Windows主机并使用它来运行使用COM库创建.doc/x文件的PHP代码吗? - Dewan159

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