Обвязка таблиц в 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, если какие-либо значения падают ниже или выше.