
Изображения обычно используются для представления важной информации в документах Word. Включение изображений рядом с текстом делает контент более привлекательным. В некоторых случаях вам может потребоваться программно извлечь изображения, встроенные в документы Word. Для этого в этой статье рассказывается, как извлекать изображения из документов Word с помощью Java.
Java API для извлечения изображений из документов Word
Aspose.Words for Java — это мощный и многофункциональный API для создания, обработки и преобразования документов MS Word. Поэтому мы будем использовать этот API для извлечения изображений из документов MS Word DOCX/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>
Как извлечь изображения из документа Word
Изображения в документе Word представлены с помощью объектов формы. Следовательно, чтобы получить изображения, вам придется обрабатывать каждую фигуру в документе. Ниже приведены шаги для извлечения изображений из документа Word DOCX на Java.
- Сначала загрузите файл Word, используя класс Document.
- Затем поместите все фигуры в NodeCollection с помощью метода Document.getChildNodes(NodeType.SHAPE, Boolean).
- Прокрутите полученные фигуры.
- В каждой итерации проверяйте, есть ли у фигуры изображение, используя метод Shape.hasImage().
- Наконец, извлеките изображение и сохраните его с помощью метода Shape.getImageData().save(string).
В следующем примере кода показано, как извлекать изображения из документа DOCX в 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++;
}
}
Получите бесплатную лицензию API
Получите бесплатную временную лицензию для использования Aspose.Words for Java без ограничений на пробную версию.
Вывод
В этой статье вы узнали, как извлекать изображения из документа Word с помощью Java. Кроме того, в примере кода показано, как извлечь изображения из файла DOCX и сохранить их в нужном месте. Кроме того, Aspose.Words for Java предоставляет широкий спектр возможностей для работы с документами. Чтобы изучить эти функции, вы можете посетить документацию. Также вы можете задать свои вопросы на нашем форуме.
Смотрите также
- Создавайте документы Word с нуля на Java
- Создание документов Word из шаблонов в Java
- Преобразование файлов Word в PDF на Java
Информация: вас может заинтересовать другой Java API (Aspose.Slides for Java), который позволяет преобразовывать презентации (в PDF-файлы, текстовые документы и т. д.) и импортировать изображения. ] или другие документы в презентации.