Извлечение изображений из документов Word с помощью Java

Изображения обычно используются для представления важной информации в документах Word DOC. Включение изображений рядом с текстом делает контент более привлекательным. В некоторых случаях вам может потребоваться программно извлечь изображения, встроенные в документы DOC. Для этого в этой статье рассказывается, как извлекать изображения из DOC в Java.

Java API для извлечения изображений из файлов DOC

Aspose.Words for Java — это мощный и многофункциональный API для создания, обработки и преобразования документов MS Word. Поэтому мы будем использовать этот API для извлечения изображений из документов DOC. Вы можете скачать JAR-файл API или установить его в свое Java-приложение, используя следующие конфигурации Maven.

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

Как извлечь изображения из DOC в Java

Изображения в документе DOC представлены с помощью объектов формы. Следовательно, чтобы получить изображения, вам придется обрабатывать каждую фигуру в документе. Ниже приведены шаги для извлечения изображений из файла DOC в Java.

  • Сначала загрузите файл DOC, используя класс Document.
  • Затем поместите все фигуры в NodeCollection с помощью метода Document.getChildNodes(NodeType.SHAPE, Boolean).
  • Прокрутите полученные фигуры.
  • В каждой итерации проверяйте, есть ли у фигуры изображение, используя метод Shape.hasImage().
  • Наконец, извлеките изображение и сохраните его с помощью метода Shape.getImageData().save(string).

В следующем примере кода показано, как извлекать изображения из документа DOC в Java.

// Загрузить документ Word
Document doc = new Document("Document.docx");

// Получить все формы
NodeCollection<Shape> shapes = (NodeCollection<Shape>) doc.getChildNodes(NodeType.SHAPE, true);
int imageIndex = 0;

// Перебрать коллекцию фигур
for (Shape shape : shapes) {
  
    // Проверить, есть ли у фигуры изображение
    if (shape.hasImage()) {
      
        // Извлеките и сохраните изображение
        String imageFileName = String.format(
                "Image.ExportImages.{0}_out_{1}", imageIndex, FileFormatUtil.imageTypeToExtension(shape.getImageData().getImageType()));
        shape.getImageData().save(dataDir + imageFileName);
        imageIndex++;
    }
}

Java Image Extractor для DOC - Получите бесплатную лицензию API

Получите бесплатную временную лицензию для использования Aspose.Words for Java без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как извлекать изображения из документа DOC в Java. Кроме того, в примере кода показано, как извлечь изображения из файла DOC и сохранить их в нужном месте. Кроме того, Aspose.Words for Java предоставляет широкий спектр возможностей для работы с документами. Чтобы изучить эти функции, вы можете посетить документацию. Также вы можете задать свои вопросы на нашем форуме.

Смотрите также

Информация: вас может заинтересовать другой Java API (Aspose.Slides for Java), который позволяет преобразовывать презентации (в PDF-файлы, текстовые документы и т. д.) и импортировать изображения. ] или другие документы в презентации.