Я пытаюсь преобразовать документ Word в HTML, используя Apache POI. У меня есть документ Word, который имеет горизонтальную линию после абзаца. OO XML для горизонтальной линии выглядит следующим образом:
<w:p w14:paraId="721E1052" w14:textId="05637367" w:rsidR="002D1248" w:rsidRPr="00BB3E82" w:rsidRDefault="00B3113F" w:rsidP="00797596">
<w:pPr>
<w:rPr>
<w:rFonts w:eastAsia="Times New Roman" w:cs="Courier New"/>
<w:snapToGrid w:val="0"/>
<w:color w:val="000000"/>
<w:lang w:eastAsia="fi-FI"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:eastAsia="Times New Roman" w:cs="Courier New"/>
<w:snapToGrid w:val="0"/>
<w:color w:val="000000"/>
<w:lang w:eastAsia="fi-FI"/>
</w:rPr>
<w:pict w14:anchorId="534EEFD0">
<v:rect id="_x0000_i1025" style="width:0;height:1.5pt" o:hralign="center" o:hrstd="t" o:hr="t" fillcolor="#a0a0a0" stroked="f"/>
</w:pict>
</w:r>
</w:p>
В соответствии с этой горизонтальной линией я хочу добавить тег HR в HTML. Однако я не могу получить элемент «rect» внутри «pict». Это то, что я пробовал до сих пор:
List<org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPicture> pics = run.getCTR().getPictList();
if(pics!=null) {
log.debug("Size of pics = "+pics.size());
for (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPicture pic : pics) {
Node picNode = pic.getDomNode();
CTGroup ctGroup = CTGroup.Factory.parse(picNode);
if(ctGroup!=null) {
log.debug("Size of rects= "+ctGroup.getRectList().size());
}
}
Приведенный выше код дает: Размер фото = 1 Размер ректов = 0 Я не уверен, почему это так. Любая помощь в понимании того, как получить «прямоугольный» объект, будет очень признательна Спасибо.