从PHP生成文档时需要关于分页符的帮助吗

从PHP生成文档时需要关于分页符的帮助吗,php,html,ms-word,Php,Html,Ms Word,我正在尝试使用headers方法在PHP中通过HTML代码生成一个文档文件。该方法运行良好,我得到了一个正确的docx文件。但是,docx文件中没有分页符。无论文本有多长,它都在一页中。 下面是示例代码 <?php header("Content-type: application/vnd.ms-word"); header("Content-Disposition: attachment;Filename=demo.doc"); echo "<html>";

我正在尝试使用headers方法在PHP中通过HTML代码生成一个文档文件。该方法运行良好,我得到了一个正确的docx文件。但是,docx文件中没有分页符。无论文本有多长,它都在一页中。 下面是示例代码

<?php
header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=demo.doc");
echo "<html>";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset= Windows-1251\">";
echo "<body>";
echo "<b>Random Text</b>";
echo "&lt;/body>";
echo "&lt;/html>";
?>
然而,这个解决方案在我的情况下不起作用

  • 空话
  • 创建带有分页符的文档
  • 在您喜爱的zip文件程序中打开docx
  • 查找内容
  • 以下是我使用LibreOffice Writer获得的信息:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <w:document xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing">
        <w:body>
            <w:p>
                <w:pPr>
                    <w:pStyle w:val="style0"/>
                </w:pPr>
                <w:r>
                    <w:rPr></w:rPr>
                    <w:t>Before page break</w:t>
                </w:r>
            </w:p>
            <w:p>
                <w:pPr>
                    <w:pStyle w:val="style0"/>
                    <w:pageBreakBefore/>
                </w:pPr>
                <w:r>
                    <w:rPr></w:rPr>
                    <w:t>After</w:t>
                </w:r>
            </w:p>
            <w:sectPr>
                <w:type w:val="nextPage"/>
                <w:pgSz w:h="15840" w:w="12240"/>
                <w:pgMar w:bottom="1134" w:footer="0" w:gutter="0" w:header="0" w:left="1134" w:right="1134" w:top="1134"/>
                <w:pgNumType w:fmt="decimal"/>
                <w:formProt w:val="false"/>
                <w:textDirection w:val="lrTb"/>
            </w:sectPr>
        </w:body>
    </w:document>
    
    
    分页符前
    之后
    
    我知道这是一个相当老的问题,但这就是我正在使用的,它工作得非常好

    DocXXML使用它来断开页面

    
    
    只要在你想要分页符的地方使用这个


    更多关于分页符的信息。

    只要在需要分页符的地方向HTML元素添加样式即可

    <h2 style="page-break-before: always;">Next Page</h2>
    
    下一页
    

    此标题将显示在新页面中。

    谢谢您的建议,听起来很酷。但是您可以指定任何用于读取docx文件内容的“zip文件程序”吗?或者会打开一个docx。或者,您可以将其重命名为.zip并使用内置的windows zip处理程序打开它。一旦你打开它,你会在word/document.xml中找到你的文档内容好的,我知道了。看起来他们在用标签来换页。您能告诉我如何在上面演示的PHP代码中实现它吗。
    <h2 style="page-break-before: always;">Next Page</h2>