我有以下简化的 html,其中包含一些 MS 特定的标签,如果在 Word 中打开文件,则可在文档的每一页中添加页眉和页脚。当我在 Word 中打开文件时,似乎会显示此信息(尽管我在页眉旁边确实看到了一个方形图标,这通常表示不支持的 unicode 和类似内容)。
但是,如果我将文件保存为 docx,然后重新打开该新文件,则页眉和页脚不会显示。
我正在测试本地安装的 Office 365 for Business(几周前安装的版本 16.0.14527.20276)
知道为什么会发生这种情况吗?如果我删除表格标签和相关的 tbody、tr、td 标签,问题就会消失。但网上很多帖子(搜索hrdftrtbl
- 表格的 ID)似乎都有类似的 html,试图强迫 word 不要将标题放在错误的位置,或者重复标题太多等等。最近新版本的 word 中是否有某些更改,从而改变了推荐的执行方式?我尝试使用的 html 相当旧,我没有旧版本的 word 可以测试。
<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<!--[if gte mso 9]>
<xml>
<w:WordDocument>
<w:View>Print</w:View>
<w:Zoom>90</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml>
<![endif]-->
<style>
p.MsoFooter, li.MsoFooter, div.MsoFooter {
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
tab-stops:center 3.0in right 6.0in;
font-size:12.0pt;
}
@page Section1 {
size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in ;
mso-header-margin:.5in;
mso-header:h1;
mso-footer: f1;
mso-footer-margin:.5in;
}
div.Section1 {
page:Section1;
}
table#hrdftrtbl {
margin:0in 0in 0in 9in;
}
</style>
<title>hi</title>
</head>
<body>
<div class="Section1">
<div align="center">
<strong>TEST DOCUMENT</strong>
</div>
<h1>section 1</h1>
hello
<h1>section 2</h1>
there
</div>
<table id="hrdftrtbl">
<tbody>
<tr>
<td>
<div style="mso-element:header" id="h1">
<div class="MsoHeader">myheader</div>
</div>
</td>
<td>
<div style="mso-element:footer" id="f1">
<div class="MsoFooter">myfooter</div>
</div>
</td>
</tr>
</tbody>
</table>
</body>
</html>