【问题标题】:generate Word Document from PHP with header and footer on each page从 PHP 生成 Word 文档,每页带有页眉和页脚
【发布时间】:2017-05-26 00:23:35
【问题描述】:

我可以从此代码生成 Word 文档

<?php
   header("Content-type: application/vnd.ms-word");
   header("Content-Disposition: attachment; Filename=SaveAsWordDoc.docx");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">
 <title>Saves as a Word Doc</title>
</head>
  <body>
    <h1>Header</h1>
      This text can be seen in word
    <ul>
      <li>List 1</li>
      <li>List 2</li>
    </ul>
  </body>
</html>

我想在 word 文档的每一页中添加页眉和页脚。我该怎么做?

【问题讨论】:

标签: php html css


【解决方案1】:

当然,这与 Microsoft Word 格式无关。这只是带有错误扩展名的旧 HTML,可以欺骗计算机使用文字处理器打开它。

在您的计算机中,Microsoft Word 恰好找出文件格式并打开它。在我看来,LibreOffice Writer 也是如此,但 Microsoft Word 却没有:

即使您有一个可以接受交易的已知文字处理器的受控环境,您仍然会遇到问题,即 HTML 和 CSS 主要是为屏幕设备设计的,而可打印媒体的功能不太合适。特别是,我认为目前不提供每页页眉和页脚。它们可能存在于一些基于 HTML 的第三方程序中——我记得读过一些使用自定义版本的 CSS 来获取可打印书籍的出版软件——但肯定不存在于标准文字处理器使用的 HTML 引擎中。

所以你大多是在用瘦眼睛说最好的。

总结一下:

  • 如果需要 DOCX 格式,最好提供实际的 DOCX。
  • 如果您只想打印,我建议您切换到 PDF。

【讨论】:

    【解决方案2】:

    如果你想生成真实的word文档而不是保存为word的html,我建议使用https://phpword.codeplex.com/这样的库

    添加页眉和页脚应该很简单。

    编辑:改用 Github 上的 repo(感谢 Mark 的更正)

    【讨论】:

    • Codeplex 网站早已死去,希望它可以被掩埋.... PHPWord 的官方 repo 位于 github
    • 是的,我也找到了.. 但是有没有办法在不使用任何第三方库的情况下做到这一点?
    • @KimCarlo - 如果不使用本机 Word 格式文件,您将无法获得页眉和页脚,HTML 不是替代品:使用第三方库的替代方法是编写您自己的库....祝你好运,写一个真正的 Word 文档作者需要好几年的工作
    • @Mark Ba​​ker - 哦不知道,这只是快速谷歌搜索的第一个结果。
    • @ckay - 我们希望我们可以从 codeplex 中删除它;但网站不允许(并且尝试联系 codeplex 管理员是毫无用处的)
    猜你喜欢
    • 2012-10-31
    • 2013-03-09
    • 2021-07-21
    • 1970-01-01
    • 2018-12-10
    • 2015-10-06
    • 1970-01-01
    • 2011-08-17
    相关资源
    最近更新 更多