Преобразование изображения EMF из MS Word в BufferedImage - PullRequest
1 голос
/ 29 января 2020

Я пишу программу, которая будет читать текст с изображения. Я добился успеха в JPG / PNG, получив BufferedImage из XWPFPictureData.

public static BufferedImage convertPicDataToBuffImg(XWPFPictureData objPicData) {
    byte[] bData = objPicData.getData();
    BufferedImage objInBuffImg = ImageIO.read(new ByteArrayInputStream(bData));
    ...
}

Однако при использовании того же кода для типов изображений EMF objInBuffImg становится нулевым. Как я читал, это потому, что тип EMF.

Чтобы использовать те же методы, которые я использовал, я хотел преобразовать XWPFPictureData с PictureType Document.PICTURE_TYPE_EMF в BufferedImage.

Так что в основном то, что я хотел сделать что-то вроде следующего:

public static BufferedImage convertPicDataToBuffImg(XWPFPictureData objPicData) {
    BufferedIMage objInBuffImg = null;

    if (objPicData.getPictureType() == Document.PICTURE_TYPE_EMF)) {
        // Convert to BufferedImage
    } else {
        byte[] bData = objPicData.getData();
        objInBuffImg = ImageIO.read(new ByteArrayInputStream(bData));
    }
    ...
}

Искал и читал о батике, но не могу точно понять, как сделать то, что я хочу сделать, как указано выше.

Любой идеи?

Большое спасибо заранее за помощь!

...