我对Office Open XML架构感到困惑:w:rPr
标记在w:pPr
标记内部似乎无法正常工作。
<w:p w:rsidR="00573C57" w:rsidRPr="004A77F9" w:rsidRDefault="00573C57" w:rsidP="006F57C5">
<w:pPr>
<w:rPr>
<w:b />
<w:sz w:val="36" />
<w:szCs w:val="36" />
</w:rPr>
</w:pPr>
<w:r w:rsidRPr="004A77F9">
<w:rPr>
<w:b />
<w:sz w:val="36" />
<w:szCs w:val="36" />
</w:rPr>
<w:t xml:space="preserve"> BUSINESS</w:t>
</w:r>
<w:r w:rsidRPr="004A77F9">
<w:t xml:space="preserve"> PLAN FILE</w:t>
</w:r>
</w:p>
第一个w:r
代码包含w:rPr
标记,其中包括粗体(w:b)和字体大小(w:sz),因此在docx输出时采用粗体和字体大小样式的部分样式。< / p>
上一个w:r
代码没有w:rPr
代码,因此在docx输出时此部分没有样式。
那么为什么w:pPr
标签在完全没用时会有w:rPr
样式?
答案 0 :(得分:1)
OOXML字符属性可以应用于段落(w:p/w:pPr
)或运行(w:r/w:rPr
)级别。运行级别的属性会覆盖段落级别的属性。
在您的特定示例中,目前没有(一般情况下,但请参阅下面的注释#2)段落级属性和一个运行级属性,该属性负责业务为粗体。
备注:强>
无法保证将字符属性规范化为任何给定效果的最小表示。
当w:rPr
元素出现 <{1}}时,
w:pPr
它仅适用于段落字形(¶)。 (是的,这是一个相当深奥的功能。)如果要格式化段落字形,请在那里添加属性;如果您不特别关心段落字形,可以删除<w:pPr>
<w:rPr>
<w:b />
<w:sz w:val="36" />
<w:szCs w:val="36" />
</w:rPr>
</w:pPr>
包装并允许其属性在段落级别应用:
w:pPr/w:rPr