MS Word 파일로 그려진 모든 이미지와 다이어그램을 추출하는 간단한 요구 사항이 있습니다. 이미지 만 추출 할 수 있지만 모양 그룹 (유스 케이스 다이어그램 또는 활동 다이어그램)은 추출 할 수 없습니다. 모든 다이어그램을 이미지로 저장하고 싶습니다.apachePOI를 사용하여 Word 문서 (.doc 또는 .docx)에서 이미지로 셰이프 그룹을 읽는 방법?
나는 apachePOI를 사용했습니다.
다음 코드 나는 그것은 단지 이미지없는 모양을 추출
public class worddocreader {
public static void main(String args[]) {
FileInputStream fis;
try {
FileInputStream fs = new FileInputStream("F:/1.docx");
XWPFDocument docx = new XWPFDocument(fs);
List<XWPFPictureData> piclist = docx.getAllPictures();
Iterator<XWPFPictureData> iterator = piclist.iterator();
int i = 0;
while (iterator.hasNext()) {
XWPFPictureData pic = iterator.next();
byte[] bytepic = pic.getData();
BufferedImage imag = ImageIO.read(new ByteArrayInputStream(
bytepic));
ImageIO.write(imag, "image/jpeg", new File("F:/docParsing/imagefromword" + i + ".jpg"));
i++;
}
ArrayList<PackagePart> packArrayList = docx.getPackageRelationship().getPackage().getParts();
int size = packArrayList.size();
System.out.println("Array List Size : " + packArrayList.size());
while (size-->0) {
PackagePart packagePart = packArrayList.get(size);
System.out.println(packagePart.getContentType());
try{
BufferedImage bfrImage = ImageIO.read(packagePart.getInputStream());
ImageIO.write(bfrImage,"image/png",new File("F:/docParsing_emb/size"+size+".png"));
}catch(Exception e){
e.printStackTrace();
}
}
System.out.println("Done");
} catch (Exception e) {
e.printStackTrace();
}
}
}를 작성했습니다.
아무도 몰라 어떻게해야합니까?
당신이 찾고있는 것은 불가능합니다. –