Closed zuwensong closed 4 years ago
@zuwensong, 请尝试使用以下代码:
Document doc = new Document("D:\\Temp\\in.docx");
ArrayList shapesToRemove = new ArrayList();
NodeCollection shapeCollection = doc.getChildNodes(NodeType.SHAPE, true);
for (int i=0; i<shapeCollection.getCount(); i++) {
Shape shape = (Shape) shapeCollection.get(i);
if(shape.hasImage()) {
String imageFileName = java.text.MessageFormat.format(
"Image.ExportImages.{0} Out{1}", i, FileFormatUtil.imageTypeToExtension(shape.getImageData().getImageType()));
ImageData imageData = shape.getImageData();
imageData.save("D:\\temp\\pic\\" + imageFileName);
shapesToRemove.add(shape);
}
}
for(Shape shape : (Iterable<Shape>) shapesToRemove) {
shape.remove();
}
doc.save("D:\\Temp\\awjava-18.4.docx");