在 Linux 中使用 PHP 创建 Word 文档 [已关闭]

2022-08-30 09:34:45

PHP在Linux环境中创建Word文档的可用解决方案是什么?


答案 1

真正的 Word 文档

如果您需要生成“真正的”Word文档,则需要基于Windows的Web服务器和COM自动化。我强烈推荐乔尔关于这个主题的文章。

用于诱使 Word 打开原始 HTML 的 HTTP 标头

一个相当常见(但不可靠)的替代方案是:

header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment; filename=document_name.doc");

echo "<html>";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">";
echo "<body>";
echo "<b>Fake word document</b>";
echo "</body>";
echo "</html>"

确保不使用外部样式表。所有内容都应位于同一文件中。

请注意,这不会发送实际的 Word 文档。它只是诱使浏览器将其作为下载提供并默认为文件扩展名。较旧版本的Word通常可以在没有任何警告/安全消息的情况下打开它,只需将原始HTML导入Word即可。PHP发送该误导性标头并不构成真正的文件格式转换。.docContent-Type


答案 2

PHPWord可以生成docx格式的Word文档。它还可以使用现有的.docx文件作为模板 - 模板变量可以以${varname}格式添加到文档中。

它有一个LGPL许可证,代码附带的示例对我来说很好。


推荐