Ho un semplice requisito per estrarre tutte le immagini e diagrammi disegnati nel file MS Word. Sono in grado di estrarre solo le immagini ma non il gruppo di forme (come Usa diagramma di caso o diagramma di attività). Voglio salvare tutti i diagrammi come Immagine.Come leggere il gruppo di forme come immagine dal documento di Word (.doc o .docx) usando apachePOI?
Ho usato apachePOI.
seguito il codice che ho scritto
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();
}
}
}
Si estrarre solo non immagini Forme.
Qualcuno sa Come faccio a fare questo?
Penso che ciò che stai cercando non sia possibile. –