Обвязка таблиц в Open Office XML / DrawingML

Я играю с преобразованием файлов PPTX в HTML и застрял в проблеме с таблицами рисования ML, в частности, с полосами строк.

У меня есть таблица с 3 разными цветами, основным цветом акцента, оттенком в ряду Band1H и более светлым оттенком в ряду Band2H. Свойства таблицы указывают, что firstRow="1" и bandRow="1". У меня нет проблем с получением цвета фона для firstRow и Band1H, но Band2H, похоже, находится только внутри элемента wholeTbl, который, как я понимаю (возможно, неправильно), я не могу прочитать, пока все свойства таблицы не будут отключены.

Как правильно получить эти стили?

Пример изображения таблицы в вопросе

Таблица из 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>

2 ответа

Решение

Я считаю, что это встроено непосредственно в PowerPoint, поэтому стили на самом деле не выставлены. К сожалению, это не то, что вы можете сделать.

Вы можете увидеть список доступных стилей здесь.

Более легкая полоса, которую вы ищете, это tint расчет стоимости accent2 под schemeClr в fill в tcStyle, Вам нужно будет найти значение accent2 и использовать sRGB для расчета tint, в этом случае на 20%, округляя до 0,0 или 1,0, если какие-либо значения падают ниже или выше.

Другие вопросы по тегам