PPTX - выяснение, является ли текст маркированным из OpenXML
Мне не удалось найти индикатор, который мог бы сказать мне, маркирован ли текст в теге txBody или нет, не могли бы вы мне определить, какой индикатор следует использовать, чтобы понять, является ли текст маркированным или простым?
-Спасибо
1 ответ
Внутри тега txBody вы можете найти теги "a:buFont" и "buChar", которые помогут вам определить, что текст маркирован. например.
<a:buFont typeface="Arial" pitchFamily="34" charset="0"/>
<a:buChar char="•"/>
Обновить:
Привет, +1 За размещение этого вопроса, многому научился.
После поиска в Google я нашел эту ссылку, которая решает аналогичную проблему, Resoponse от Адамма очищает это,
"Хорошо, так что я думаю, что я понял это. В основном, если форматирование не указано в макете или слайде, оно переходит к мастеру, а если это форма 'title' или 'ctrTitle', оно использует форматирование и по умолчанию lvl1. То же самое относится и к тексту, который не имеет формы заголовка, для него по умолчанию используется форматирование в, а если lvl не указан, по умолчанию используется lvl1. И еще один совет, хотя и не относящийся к моему первоначальному вопросу, еще один txStyle в slideMaster, который используется для текста в форме, которой нет в txBody."
Теперь слайд в вашем pptx использует "Офисную тему", а интересующий вас текст имеет форму формата в дизайне слайда. Маркированный текст наследуется от slideMaster1.xml в SlideMasters.
Как упомянуто в приведенной выше цитате, текст в буфете унаследован от "a: lvl1pPr" из "p: bodyStyle" в slideMaster1.xml, также вы можете видеть, что пуля 2-го уровня по умолчанию имеет значение "-" для офисного мастера слайдов темы там.
Я попытался подтвердить это, изменив char = "•" на ">", чтобы увидеть, что маркировка изменилась на ">" в строке ниже
<p:bodyStyle>
<a:lvl1pPr marL="342900" indent="-342900" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1">
<a:spcBef>
<a:spcPct val="20000"/>
</a:spcBef>
<a:buFont typeface="Arial" pitchFamily="34" charset="0"/>
<a:buChar char="•"/>
....
Теперь, если вы хотите изменить его программно, вы можете сделать это из мастер-слайдов 1. Но единственная проблема здесь заключается в том, что, когда мы меняем стиль маркированного списка здесь (как выше), он меняется для всех слайдов, а также для будущих слайдов, которые вы будете создавать с той же темой в вашем ppt.
Надеюсь это поможет.
С уважением.