docx4j或Apache-POI:如何从docx文件获取段落ID,该docx文件包含除英语之外的图像和语言?

时间:2019-05-22 10:52:13

标签: apache-poi docx4j

我想从.docx文件中获取段落ID。当文件的语言不是英语或图像时,我无法获得ID。

我试图阅读docx4j和apache-poi的段落,如下所示。但无法获取段落ID。

 List<CLMParagraph> clmParagraphs = new ArrayList<CLMParagraph>();

    List<XWPFParagraph> paragraphs = 
  document.getParagraphs();

    for (int i = 0; i < xmlfragmentlist.getLength(); i++) {



        Node node = xmlfragmentlist.item(i);

        CLMParagraph paragraph = new CLMParagraph();

        // do something for each node

        if (node.getNodeType() == Node.ELEMENT_NODE) {

            Element e = (Element) node;

            if (e.hasAttribute("w14:paraId")) {

                paragraph.setParaId(e.getAttribute("w14:paraId"));

                paragraph.setParaText(paragraphs.get(i).getText());

                paragraph.setSentences(getParaSentences(document, paragraphs.get(i)));

                clmParagraphs.add(paragraph);

            }

        }

    }

我想获取英语以外的图像和文本的段落ID。

1 个答案:

答案 0 :(得分:0)

在docx4j中,带有段落对象P p的只是p.getParaId()

进一步查看https://github.com/plutext/docx4j/blob/master/docx4j-openxml-objects/src/main/java/org/docx4j/wml/P.java#L364

是否有图像或是否无关紧要。