Mam prosty wymóg, aby wyodrębnić wszystkie obrazy i diagramy rysowane w pliku MS Word. Jestem w stanie wyodrębnić tylko obrazy, ale nie grupę kształtów (jak Diagram przypadku użycia lub Diagram aktywności). Chcę zapisać wszystkie Diagramy jako obraz.Jak odczytać grupę kształtów jako obraz z dokumentu programu Word (.doc lub .docx) za pomocą apachePOI?
Użyłem apachePOI.
następujący kod Pisałem
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();
}
}
}
wyodrębnić tylko obrazy nie kształtach.
Czy ktoś wie Jak to zrobić?
Myślę, że to, czego szukasz, nie jest możliwe. –