w:rPr与w的目的:OOXML(DOCX)中的pPr?

时间:2018-03-01 22:20:08

标签: xml openxml docx

我对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样式?

1 个答案:

答案 0 :(得分:1)

OOXML字符属性可以应用于段落(w:p/w:pPr)或运行(w:r/w:rPr)级别。运行级别的属性会覆盖段落级别的属性。

在您的特定示例中,目前没有(一般情况下,但请参阅下面的注释#2)段落级属性和一个运行级属性,该属性负责业务为粗体。

备注:

  1. 无法保证将字符属性规范化为任何给定效果的最小表示。

  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