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

В этом кратком руководстве мы узнаем, как извлекать изображения из файла Word в Java. Он содержит всю информацию, необходимую для создания среды, сведения об использовании API для написания приложения и исполняемый образец кода, демонстрирующий процесс извлечения изображений из документа Word на Java. Вы также узнаете о различных вариантах настройки процесса при загрузке исходного файла DOCX и извлечении из него различных изображений, таких как PNG, JPEG и т. д.

Шаги по извлечению изображений из Word в Java

  1. Установите среду для добавления Aspose.Words for Java для извлечения изображений.
  2. Загрузите исходный файл Word с изображениями в объект класса Document
  3. Получите коллекцию фигур с помощью метода getChildNodes() в классе Document.
  4. Перебрать все фигуры в коллекции
  5. Проверьте, есть ли у фигуры изображение, используя метод hasImage() в классе Shape.
  6. Сохраните изображение отдельным файлом на диске

Эти шаги объясняют процесс извлечения изображений из файла Word в Java. Во-первых, ресурсы совместно используются для создания среды, за которой следует введение в классы, методы и свойства, необходимые для выполнения задачи, например, класс Document используется для загрузки исходного файла Word, а метод getChildNodes() используется для извлечения всех изображения из него. Наконец, каждый элемент коллекции проверяется на наличие изображения и, если найдено, сохраняется на диске в виде отдельного файла изображения.

Код для извлечения изображений из документа Word в Java

import com.aspose.words.Document;
import com.aspose.words.NodeCollection;
import com.aspose.words.NodeType;
import com.aspose.words.Shape;
import com.aspose.words.FileFormatUtil;
public class AsposeTest {
public static void main(String[] args) throws Exception {//Main function to extract images from a Word file
// Instantiate the license
com.aspose.words.License licPage = new com.aspose.words.License();
licPage.setLicense("Aspose.Total.lic");
//
Document imagesWordFile = new Document("WordFileWithImages.docx");
NodeCollection<Shape> docShapes = (NodeCollection<Shape>) imagesWordFile.getChildNodes(NodeType.SHAPE, true);
int indexForImages = 0;
for (Shape shape : docShapes
) {
if (shape.hasImage()) {
String outputImage = String.format("Image" + indexForImages + FileFormatUtil.imageTypeToExtension(shape.getImageData().getImageType()));
shape.getImageData().save(outputImage);
indexForImages++;
}
}
System.out.println("Done");
}
}

Этот пример кода демонстрирует процесс извлечения всех изображений из документа Word в Java. После загрузки исходного файла Word метод getChildNodes() используется путем предоставления значения NodeType.SHAPE в качестве аргумента, который возвращает набор всех фигур в документе, поскольку класс Shape имеет метод hasImage(), который проверяет существование изображения. . Как только изображение обнаружено, его расширение извлекается с помощью shape.getImageData().getImageType() и используется в имени выходного изображения вместе с возможностью фильтрации изображений на основе их типов.

В этом уроке мы узнали, как вставить изображение в MS Word с помощью Java. Если вы хотите узнать, как создать документ Word с нуля, вы можете обратиться к статье как создать документ Word с помощью Java.

 Русский