彩票走势图

Word处理控件Aspose.Words功能演示:从 Java 中的 Word DOC 中提取图像

翻译|使用教程|编辑:胡涛|2022-08-17 11:39:30.560|阅读 111 次

概述:本文介绍了如何从 Java 中的 DOC 中提取图像。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

使用Java从word文档中提取图像

图像通常用于表示 Word DOC 文档中的重要信息。在文本旁边包含图像使内容更具吸引力。在某些情况下,您可能需要以编程方式提取 DOC 文档中嵌入的图像。为此,本文介绍了如何从 Java 中的 DOC 中提取图像。

Aspose.Words 最新下载

Java API 从 DOC 文件中提取图像

Aspose.Words for Java是一个功能强大且功能丰富的 API,用于创建、操作和转换 MS Word 文档。因此,我们将使用此 API 从 DOC 文档中提取图像。您可以使用以下 Maven 配置下载API 的 JAR 或将其安装到您的 Java 应用程序中。


<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>//repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>21.11</version>
<type>pom</type>
</dependency>


如何在 Java 中从 DOC 中提取图像
  •  DOC 文档中的图像使用形状对象表示。因此,要检索图像,您必须处理文档中的每个形状。以下是从 Java 中的 DOC 文件中提取图像的步骤。

    • 首先,使用Document类加载 DOC 文件。
    • 然后,使用Document.getChildNodes(NodeType.SHAPE, Boolean)方法将所有形状放入NodeCollection对象中。
    • 循环遍历检索到的形状。
    • 在每次迭代中,使用Shape.hasImage()方法检查形状是否有图像。
    • 最后,提取图像并使用Shape.getImageData().save(string)方法保存。

以下代码示例展示了如何从 Java 中的 DOC 文档中提取图像。


// Load Word document
Document doc = new Document("Document.docx");

// Get all the shapes
NodeCollection<Shape> shapes = (NodeCollection<Shape>) doc.getChildNodes(NodeType.SHAPE, true);
int imageIndex = 0;

// Loop through the shape collection
for (Shape shape : shapes) {

// Check if shape has image
if (shape.hasImage()) {

// Extract and save the image
String imageFileName = String.format(
"Image.ExportImages.{0}_out_{1}", imageIndex, FileFormatUtil.imageTypeToExtension(shape.getImageData().getImageType()));
shape.getImageData().save(dataDir + imageFileName);
imageIndex++;
}
}
结论

 在本文中,您学习了如何在 Java 中从 DOC 文档中提取图像。此外,代码示例还展示了如何从 DOC 文件中提取图像并将其保存到所需位置。此外,Aspose.Words for Java 提供了广泛的文档操作功能。


欢迎下载|体验更多Aspose产品

获取更多信息请咨询 或 加入Aspose技术交流群(761297826

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP