Apache POI XWPFRun не может получить изображения EMF - PullRequest
0 голосов
/ 06 июня 2018

apache poi 3.17

XWPFDocument document = new XWPFDocument(new FileInputStream("test.docx"));
Iterator<IBodyElement> iterator = document.getBodyElementsIterator();
while (iterator.hasNext()) {
    IBodyElement iBodyElement = iterator.next();
    switch (iBodyElement.getElementType()) {
        case PARAGRAPH:    
            XWPFParagraph paragraph = (XWPFParagraph) iBodyElement;
            for(XWPFRun run :paragraph.getRuns()){
                for(XWPFPicture picture : run.getEmbeddedPictures()){
                    System.out.println(picture.getPictureData().getFileName());
                }
            }
            break;
    }
}

output

image3.png
image4.png
image5.png
image6.png
image7.png
image8.png
image9.png
image10.png
image11.png
image12.png
image13.png
image14.png

введите описание изображения здесь

image1.emf и image2.emf пропали

document.getAllPictures() можно получить все фотографии, но это XWPFPictureData

Я хочу взять picture.GetCTPicture().getSpPr().getXfrm().getExt().getCx();


document.getAllPictures(), чтобы получить все фотографии.

Я нашел CTObject, и я могу получить ширину и высоту.

но как я могу узнать, какие CTObject соответствуют XWPFPictureData?

...