【问题标题】:Generating word documents with PHP [duplicate]用PHP生成word文档[重复]
【发布时间】:2010-11-11 10:47:39
【问题描述】:

你知道用 PHP 和没有 COM 组件生成docdocx 文件的任何方法吗?我试过PHPWord,它会创建docx 文件,但是这些文件无法在OpenOffice 中打开,因为它们会导致它崩溃。我也试过PHPDocx,但它根本没有生成任何文件。

【问题讨论】:

  • 也不要放弃 PHPDocx。它看起来像一个不错的包
  • 也不要放弃 PHPWord……还有很多工作要做。不是所有版本的OO都可以读取docx文件,你确定你的可以吗?
  • PHPDocx 是付费的。没有机会!

标签: php ms-word docx doc phpdocx


【解决方案1】:

用JS生成word文档:

我创建了一个简单的开源库,它将用值替换标签。

例如Hi {name}data={name:"John"} 将被Hi John 替换。

这里是:https://github.com/edi9999/docxtemplater

演示:https://docxtemplater.com/demo

【讨论】:

  • 不错,伙计:)
【解决方案2】:

看这里:

http://www.webcheatsheet.com/php/create_word_excel_csv_files_with_php.php

引用文章中最常用的方法:

使用 HTTP 标头

在此方法中,您需要使用格式化 HTML/PHP 页面 文字友好的 CSS 并将标题信息添加到您的 PHP 脚本。制作 确保你不使用外部样式表,因为一切都应该在 同一个文件。

因此,系统将提示用户下载文件。该文件将 不是 100% 的“原始”Word 文档,但它肯定会在 MS 中打开 词应用。您可以将此方法用于 Unix 和 Windows 环境。

<?php
  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>My first document</b>";
  echo "</body>";
  echo "</html>";
?>

【讨论】:

  • 这是垃圾。不要进一步复制和粘贴。发送伪造的 HTTP 标头以及一些 HTML 输出并不会使其成为 Word 文档。它可能会欺骗浏览器将其传递给 Word,Word 会对其进行隐式转换。较新的版本至少会发出警告。任何企业级防火墙都可能阻止这种粗略的变通方法。
  • @mario - 请注意,这已经有四年的历史了,也是您标记的重复链接上答案的一部分。我同意你的一些概要,但请注意garbage 可能是夸张的。
  • 抱歉措辞过于强烈,顺便说一句。但是这个代码示例正在引发错误的新手问题。刚刚关闭了主题,并在主要副本中对其进行了澄清。
  • 非常感谢您让我的生活更轻松。
【解决方案3】:

OpenTBS 可以使用模板技术在纯 PHP 中生成 Docx 文档。

简单。

【讨论】:

    【解决方案4】:

    正如我在这里提到的PHP Convert Word file to HTML without losing styling and images

    到目前为止,我发现的最佳解决方案是 http://www.phplivedocx.org/ 。您可以将它与 Zend 框架一起使用。非常容易设置,并且您与实际文字格式的偏差最小。它非常好地生成和转换从/到 html(以及其他格式)的 word 文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-17
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      相关资源
      最近更新 更多