从HTML生成的MS Word文档中不需要的正方形



我正在使用本主题中的代码从HTML创建一个MS Word文档。经过一些调整后,它对我来说工作得很好,除了现在我在页眉和页脚的每一端都得到了正方形。这些方块不能手动移除,我也不知道是什么在创建它们。

要复制,只需创建一个*.doc文件,用文本编辑器(如notepad++或VS Code)打开它,并输入以下代码。然后用Word打开文件。

我希望你们能帮我摆脱那些方块!

<html xmlns:v='urn:schemas-microsoft-com:vml' xmlns:o='urn:schemas-microsoft-com:office:office'
xmlns:w='urn:schemas-microsoft-com:office:word' xmlns:m='http://schemas.microsoft.com/office/2004/12/omml'
xmlns='http://www.w3.org/TR/REC-html40'>
<head>
<meta charset='utf-8'/>
<title></title>
<style>
@page {
mso-page-orientation: portrait;
margin: 1cm 1cm 1cm 1cm;
}
@page Section1 {
mso-header-margin: 1cm;
mso-footer-margin: 1cm;
mso-header: h1;
mso-footer: f1;
}
div.Section1 {
page: Section1;
}
table.hdrftrtbl {
margin: 0in 0in 0in 900in;
width: 1px;
height: 1px;
overflow: hidden;
}
p.MsoHeadFoot,
li.MsoHeadFoot,
div.MsoHeadFoot,
td.MsoHeadFoot {
margin: 0;
margin-bottom:1px;
tab-stops: center 50% right 100%;
font-size: 12.0pt;
}
</style>
</head>
<body>
<br/>
TODO: Actual content goes here
<div class='Section1'>
<table class='hdrftrtbl' border='0' cellspacing='0' cellpadding='0'>
<tr>
<!-- HEADER-tags -->
<td class='MsoHeadFoot'>
<div style='mso-element:header' id='h1'>
<span style='mso-tab-count:2'>
<img src='logo.jpg' width="140" height="60">
</span>
</div>
</td>
<!-- end HEADER-tags -->
<!-- FOOTER-tags -->
<td class='MsoHeadFoot'>
<div style='mso-element:footer' id='f1'>
<span style='mso-tab-count:0'>&copy; company name</span>
<span style='mso-tab-count:1'>TODO: beginning from page 2</span>
<span style='mso-tab-count:1'></span>
page
<span style='mso-field-code:PAGE'></span>
of
<span style='mso-field-code:NUMPAGES'></span>
</div>
</td>
<!-- end FOOTER-tags -->
</tr>
</table>
</div>

</body>
</html>

找到了。我必须为每个页眉和页脚添加另一个<div>块:

<div style='mso-element:header'>
<p class='MsoHeader'>
<span>&nbsp;<o:p></o:p></span>
</p>
</div>

相应的和

<div style='mso-element:footer'>
<p class='MsoFooter'>
<span>&nbsp;<o:p></o:p></span>
</p>
</div>

显然<o:p></o:p>标签负责这些方块。

最新更新