Я пишу программу, которая будет читать текст с изображения. Я добился успеха в 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));
}
...
}
Искал и читал о батике, но не могу точно понять, как сделать то, что я хочу сделать, как указано выше.
Любой идеи?
Большое спасибо заранее за помощь!