从PHP生成Word文档,每页都有页眉和页脚

时间:2017-01-11 09:27:14

标签: php html css

我可以从此代码生成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文档的每个页面中添加页眉和页脚。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

如果你想制作真正的单词文档而不是保存为单词的html,我会建议像https://phpword.codeplex.com/这样的库

添加页眉和页脚应该非常简单。

修改:使用Github上的仓库代替(感谢Mark提供更正)

答案 1 :(得分:0)

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

在您的计算机中,Microsoft的单词恰好找出文件格式并打开它。在我的网站中,LibreOffice Writer也这样做,但Microsoft Word不会这样做:

Could not open file

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

所以,你大部分都是在瘦弱的眼睛上玩,说得最好。

总结一下:

  • 如果您需要DOCX格式,则可以更好地为实际DOCX服务。
  • 如果您只想要可打印,我建议您切换为PDF。