使用html渲染分页符

时间:2011-11-21 20:50:36

标签: php html css ms-word

我用word和pdf格式生成php文档

我正在使用标题来生成单词

中的文档
header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=example.doc");
echo "<html>";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">";
echo "<body>"; etc etc

wysiwyg正在创建以下代码来呈现分页符

<div style="page-break-after: always;"><span style="display: none;">&nbsp;</span></div>

这个html / css适用于pdf输出但不是单词。

有人可以推荐一种替代方法来创建可能在单词中起作用的分页符。

5 个答案:

答案 0 :(得分:20)

前一段时间问了这个问题,但我将其添加为参考:

我遇到了同样的问题,并且能够使用此代码进行分页

<br style="page-break-before: always">

我能让它工作的唯一方法是使用“br”元素并将其设置为内联样式。

答案 1 :(得分:1)

你会摸不着头脑,弄清楚微软如何使用标准来强制推行自己的标准。

尝试使用分页符制作Word文档 - 即两页。将其另存为HTML,并检查生成的代码,了解哪种样式+标记组合适用于它们。

请注意,Word 2000样式可能与Word 2003不同 - 后者可能与Word 2007不同 - 这可能与Word 2010不同。

因此,请根据您使用的Word版本调整解决方案,因为Microsoft产品中始终存在这些差异。一个类似的问题是:Outlook 2003使用Internet Explorer引擎呈现HTML电子邮件,而Outlook 2007使用Word呈现引擎。在Outlook 2003中显示正确样式和字体的HTML电子邮件将无法在Outlook 2007中正确显示。

答案 2 :(得分:0)

在MS Word 2000-2007(以及更高版本)中,插入以下任意一项(您要在其中进行分页):

1) <br clear=all style='page-break-before:always'>

2) &#12; /* Ctrl-L = FF */

答案 3 :(得分:0)

<pre><br clear=all style='mso-special-character:line-break;page-break-before:always'></pre>

这对我来说很有用,可以将内容分成下一页。

答案 4 :(得分:0)

添加另一个答案,以备不时之需。以上内容在Word 365中对我来说都不起作用,但是以下内容可以做到:

<p style="page-break-after: always;">&nbsp;</p>