如何在php中从.doc模板创建一个单词.doc文件

时间:2010-01-04 17:23:12

标签: php templates ms-word

我需要从单词模板创建一个单词文档,就像我们需要用值替换模板中的少数字符串(比如变量)。

请告诉我们如何在PHP(或cakePHP)中执行此操作。

4 个答案:

答案 0 :(得分:4)

答案 1 :(得分:3)

您遇到的最大问题是.doc格式本质上是二元格式(请参阅this questionthis post by Joel)。

您是否有任何理由不能使用HTML格式的文档(哪个词可以打开超过10年)或Rich Text File?这些都是基于文本的,并且会使您的痛苦明显减少。因此,它们非常容易使用模板。

或者,如果您可以确定该用户将拥有较新版本的Office(2007+),那么您可以使用.docx文档,虽然它有点棘手,但实际上是一个Zip存档和XML数据。您可以通过创建一个包含所需模板的.docx word文件,将其重命名为.zip,解压缩文件,教您的应用程序在此就地文件上进行文本替换来实现此功能。结构,使用PHP's ZipArchive class重新压缩它,然后发送该文件(当然,名为.docx)。

答案 2 :(得分:2)

我认为这会对你有所帮助

<强> docxtemplater主

从模板生成docx, https://github.com/edi9999/docxtemplater

<强> phpdocx

用于以docx格式动态生成Word文档的PHP库。

http://www.phpdocx.com/

答案 3 :(得分:0)

检查http://www.phpbuilder.com/annotate/message.php3?id=1024286以及它评论的文章。

当我需要生成一个简单的excel表时,我做了类似的技巧。发送正确的标题时,客户端的excel根本没有抱怨。或者,如果您可以直接使用其他格式,请使用它。 (.docx或打开的文档是压缩的xml,因此您可以更轻松地操作它)