Table Open Office 中的条带 XML / DrawingML

Table Banding in Open Office XML / DrawingML

我正在尝试将 PPTX 文件转换为 HTML,但遇到了 Drawing ML table 的问题,特别是行的条带问题。

我有一个 table 有 3 种不同的颜色,主强调色,Band1H 行的色调和 Band2H 行的浅色调。 table 的属性指定 firstRow="1" 和 bandRow="1"。我没有问题获取 firstRow 和 Band1H 的背景颜色,但 Band2H 似乎只在 wholeTbl 元素内,我理解(可能不正确)我无法读取,除非所有 table 属性都被关闭。

获得这些样式的正确方法是什么?

Example image of table in question

Table 来自 slide1.xml

<a:tbl>
    <a:tblPr firstRow="1" bandRow="1">
        <a:tableStyleId>{21E4AEA4-8DFA-4A89-87EB-49C32662AFE0}</a:tableStyleId>
    </a:tblPr>
    <a:tblGrid>
        <a:gridCol w="1354667"/>
        <a:gridCol w="1354667"/>
        <a:gridCol w="1354667"/>
        <a:gridCol w="1354667"/>
        <a:gridCol w="1354667"/>
        <a:gridCol w="1354667"/>
    </a:tblGrid>
    <a:tr h="567215">
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>h1</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>h2</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>h3</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>h4</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>h5</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>h5</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
    </a:tr>
    <a:tr h="567215">
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>a</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>b</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>c</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>d</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>e</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>f</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
    </a:tr>
    <a:tr h="567215">
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>g</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>h</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" err="1" smtClean="0"/>
                        <a:t>i</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>j</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>k</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>l</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
    </a:tr>
    <a:tr h="567215">
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>m</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>n</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>o</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>p</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>q</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
        <a:tc>
            <a:txBody>
                <a:bodyPr/>
                <a:lstStyle/>
                <a:p>
                    <a:r>
                        <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                        <a:t>r</a:t>
                    </a:r>
                    <a:endParaRPr lang="en-US" dirty="0"/>
                </a:p>
            </a:txBody>
            <a:tcPr/>
        </a:tc>
    </a:tr>
</a:tbl>

tableStyles.xml

 <a:tblStyle styleId="{21E4AEA4-8DFA-4A89-87EB-49C32662AFE0}" styleName="Medium Style 2 - Accent 2">
    <a:wholeTbl>
        <a:tcTxStyle>
            <a:fontRef idx="minor">
                <a:prstClr val="black"/>
            </a:fontRef>
            <a:schemeClr val="dk1"/>
        </a:tcTxStyle>
        <a:tcStyle>
            <a:tcBdr>
                <a:left>
                    <a:ln w="12700" cmpd="sng">
                        <a:solidFill>
                            <a:schemeClr val="lt1"/>
                        </a:solidFill>
                    </a:ln>
                </a:left>
                <a:right>
                    <a:ln w="12700" cmpd="sng">
                        <a:solidFill>
                            <a:schemeClr val="lt1"/>
                        </a:solidFill>
                    </a:ln>
                </a:right>
                <a:top>
                    <a:ln w="12700" cmpd="sng">
                        <a:solidFill>
                            <a:schemeClr val="lt1"/>
                        </a:solidFill>
                    </a:ln>
                </a:top>
                <a:bottom>
                    <a:ln w="12700" cmpd="sng">
                        <a:solidFill>
                            <a:schemeClr val="lt1"/>
                        </a:solidFill>
                    </a:ln>
                </a:bottom>
                <a:insideH>
                    <a:ln w="12700" cmpd="sng">
                        <a:solidFill>
                            <a:schemeClr val="lt1"/>
                        </a:solidFill>
                    </a:ln>
                </a:insideH>
                <a:insideV>
                    <a:ln w="12700" cmpd="sng">
                        <a:solidFill>
                            <a:schemeClr val="lt1"/>
                        </a:solidFill>
                    </a:ln>
                </a:insideV>
            </a:tcBdr>
            <a:fill>
                <a:solidFill>
                    <a:schemeClr val="accent2">
                        <a:tint val="20000"/>
                    </a:schemeClr>
                </a:solidFill>
            </a:fill>
        </a:tcStyle>
    </a:wholeTbl>
    <a:band1H>
        <a:tcStyle>
            <a:tcBdr/>
            <a:fill>
                <a:solidFill>
                    <a:schemeClr val="accent2">
                        <a:tint val="40000"/>
                    </a:schemeClr>
                </a:solidFill>
            </a:fill>
        </a:tcStyle>
    </a:band1H>
    <a:band2H>
        <a:tcStyle>
            <a:tcBdr/>
        </a:tcStyle>
    </a:band2H>
    <a:band1V>
        <a:tcStyle>
            <a:tcBdr/>
            <a:fill>
                <a:solidFill>
                    <a:schemeClr val="accent2">
                        <a:tint val="40000"/>
                    </a:schemeClr>
                </a:solidFill>
            </a:fill>
        </a:tcStyle>
    </a:band1V>
    <a:band2V>
        <a:tcStyle>
            <a:tcBdr/>
        </a:tcStyle>
    </a:band2V>
    <a:lastCol>
        <a:tcTxStyle b="on">
            <a:fontRef idx="minor">
                <a:prstClr val="black"/>
            </a:fontRef>
            <a:schemeClr val="lt1"/>
        </a:tcTxStyle>
        <a:tcStyle>
            <a:tcBdr/>
            <a:fill>
                <a:solidFill>
                    <a:schemeClr val="accent2"/>
                </a:solidFill>
            </a:fill>
        </a:tcStyle>
    </a:lastCol>
    <a:firstCol>
        <a:tcTxStyle b="on">
            <a:fontRef idx="minor">
                <a:prstClr val="black"/>
            </a:fontRef>
            <a:schemeClr val="lt1"/>
        </a:tcTxStyle>
        <a:tcStyle>
            <a:tcBdr/>
            <a:fill>
                <a:solidFill>
                    <a:schemeClr val="accent2"/>
                </a:solidFill>
            </a:fill>
        </a:tcStyle>
    </a:firstCol>
    <a:lastRow>
        <a:tcTxStyle b="on">
            <a:fontRef idx="minor">
                <a:prstClr val="black"/>
            </a:fontRef>
            <a:schemeClr val="lt1"/>
        </a:tcTxStyle>
        <a:tcStyle>
            <a:tcBdr>
                <a:top>
                    <a:ln w="38100" cmpd="sng">
                        <a:solidFill>
                            <a:schemeClr val="lt1"/>
                        </a:solidFill>
                    </a:ln>
                </a:top>
            </a:tcBdr>
            <a:fill>
                <a:solidFill>
                    <a:schemeClr val="accent2"/>
                </a:solidFill>
            </a:fill>
        </a:tcStyle>
    </a:lastRow>
    <a:firstRow>
        <a:tcTxStyle b="on">
            <a:fontRef idx="minor">
                <a:prstClr val="black"/>
            </a:fontRef>
            <a:schemeClr val="lt1"/>
        </a:tcTxStyle>
        <a:tcStyle>
            <a:tcBdr>
                <a:bottom>
                    <a:ln w="38100" cmpd="sng">
                        <a:solidFill>
                            <a:schemeClr val="lt1"/>
                        </a:solidFill>
                    </a:ln>
                </a:bottom>
            </a:tcBdr>
            <a:fill>
                <a:solidFill>
                    <a:schemeClr val="accent2"/>
                </a:solidFill>
            </a:fill>
        </a:tcStyle>
    </a:firstRow>
</a:tblStyle>

我相信这是直接在 powerpoint 中构建的,因此实际上并没有公开样式。不幸的是,这不是你能做的。

您可以看到可用样式列表here

您要查找的较轻的带是tcStylefillschemeClraccent2tint值计算。您需要找到 accent2 的值并使用 sRGB 计算 tint,在本例中为 20%,如果任何值低于或高于,则四舍五入为 0.0 或 1.0。