gpt4 book ai didi

java - 使用 java 从 MS Word 文件读取形状(矩形、正方形、圆形、箭头等)、剪贴画

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:53:23 25 4
gpt4 key购买 nike

我能够从 ms word 表中获取图像,但无法获取形状和剪贴画。

public static void main(String[] args) throws Exception {
// The path to the documents directory.
try {
String dataDir = "E://test//demo.docx";
generatePicturesAsImages(dataDir);
} catch (Exception e) {
e.printStackTrace();
}
}

public static void generatePicturesAsImages(String sourcePath) {
try {
Document doc = new Document(sourcePath);
ImageSaveOptions options = new ImageSaveOptions(SaveFormat.JPEG);
options.setJpegQuality(100);
options.setResolution(100);
// options.setUseHighQualityRendering(true);
List<ShapeRenderer> pictures = getAllPictures(doc);
if (pictures != null) {
for (int i = 0; i < pictures.size(); i++) {
ShapeRenderer picture = pictures.get(i);
String imageFilePath = sourcePath + "_output_" + i + ".jpeg";
picture.save(imageFilePath, options);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

private static List<ShapeRenderer> getAllPictures(final Document document) throws Exception {
List<ShapeRenderer> images = null;
@SuppressWarnings("unchecked")
NodeCollection<DrawingML> nodeCollection = document.getChildNodes(NodeType.DRAWING_ML, Boolean.TRUE);
if (nodeCollection.getCount() > 0) {
images = new ArrayList<ShapeRenderer>();
for (DrawingML drawingML : nodeCollection) {
images.add(drawingML.getShapeRenderer());
}
}
return images;
}

上面的程序是从表格中获取图像,所以我应该添加更多的东西来获得形状。请建议我任何帮助,我们将不胜感激!

最佳答案

您正在使用旧版本的 Aspose.Words。如果您想使用旧版本的 Aspose.Words,请在您的 getAllPictures 方法中使用 Document.getChildNodes 获取 Shape 和 DrawingML 节点的集合。

NodeCollection<DrawingML> drwingmlnodes = document.getChildNodes(NodeType.DRAWING_ML, Boolean.TRUE);

NodeCollection<Shape> shapenodes = document.getChildNodes(NodeType.SHAPE, Boolean.TRUE);

请注意,我们删除了 DrawingML from our APIs in Aspose.Words 15.2.0 .如果您想使用最新版本的 Aspose.Words v16.5.0 ,请仅使用 NodeType.SHAPE。

我在 Aspose 工作,担任开发人员布道师。

关于java - 使用 java 从 MS Word 文件读取形状(矩形、正方形、圆形、箭头等)、剪贴画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38038677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com