Главное Авторские колонки Вакансии Вопросы
358 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как извлекать текст и изображения из Word в Java

В этой статье мы покажем, как извлекать текст и изображения из Word на Java с помощью библиотеки Free Spire.Doc for Java.
Мнение автора может не совпадать с мнением редакции

Текст и изображения — важнейшие элементы, которые могут обогатить содержимое документа Word. Когда пользователям необходимо работать с текстом или изображениями отдельно от документа, оптимальным решением является их программное извлечение из документа Word. Извлечение текста гарантирует большее удобство и эффективность при работе с большими документами по сравнению с ручным копированием текста. Кроме того, извлечение изображений позволяет пользователям выполнять дальнейшее редактирование изображений в документе или без труда делиться ими с другими. В этой статье мы покажем, как извлекать текст и изображения из Word на Java с помощью библиотеки Free Spire.Doc for Java.

  • Извлечение текста из Word в Java
  • Извлечение изображений из Word в Java

Установка файла Free Spire.Doc.jar

Если вы создали Maven-проект, вы можете легко импортировать jar в свое приложение, используя следующие конфигурации. Для проектов, не использующих Maven, загрузите jar-файл по этой ссылке и добавьте его в качестве зависимости в свое приложение.

Извлечение текста из Word в Java

Free Spire.Doc для Java поддерживает извлечение текста из документов Word и сохранение его в формате текстового файла, что позволяет пользователям просматривать текстовое содержимое без ограничений устройства. В следующем фрагменте кода показано, как извлечь текст из документа Word.

import com.spire.doc.Document;

import java.io.FileWriter;

import java.io.IOException;

public class ExtractText {

public static void main(String[] args) throws IOException {

//Create a Document object and load a Word document

Document document = new Document();

document.loadFromFile("sample1.docx");

//Get text from document as string

String text=document.getText();

//Write string to a .txt file

writeStringToTxt(text," ExtractedText.txt");

}

public static void writeStringToTxt(String content, String txtFileName) throws IOException{

FileWriter fWriter= new FileWriter(txtFileName,true);

try {

fWriter.write(content);

}catch(IOException ex){

ex.printStackTrace();

}finally{

try{

fWriter.flush();

fWriter.close();

} catch (IOException ex) {

ex.printStackTrace();

}

}

}

}

Извлечение изображений из Word в Java

Извлекая изображения, пользователи могут без проблем импортировать их в другие приложения для дальнейшей обработки. Free Spire.Doc for Java позволяет извлекать изображения из документов Word и сохранять их по указанному пути.

import com.spire.doc.*;

import com.spire.doc.documents.*;

import com.spire.doc.fields.*;

import com.spire.doc.interfaces.*;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.*;

import java.util.*;

public class ExtractImage {

public static void main(String[] args) throws IOException {

//Create a Document object and load a Word document

Document document = new Document();

document.loadFromFile("sample2.docx");

//Create a queue and add the root document element to it

Queue nodes = new LinkedList<>();

nodes.add(document);

//Create a ArrayList object to store extracted images

List images = new ArrayList<>();

//Traverse the document tree

while (nodes.size() > 0) {

ICompositeObject node = nodes.poll();

for (int i = 0; i < node.getChildObjects().getCount(); i++)

{

IDocumentObject child = node.getChildObjects().get(i);

if (child instanceof ICompositeObject)

{

nodes.add((ICompositeObject) child);

}

else if (child.getDocumentObjectType() == DocumentObjectType.Picture)

{

DocPicture picture = (DocPicture) child;

images.add(picture.getImage());

}

}

}

//Save images to the specific folder

for (int i = 0; i < images.size(); i++) {

File file = new File(String.format("output/extractImage-%d.png", i));

ImageIO.write(images.get(i), «PNG», file);

}

}

}

Резюме

В этой статье мы узнали, как извлекать текст и изображения из документов Word с помощью Free Spire.Doc for Java. Эта библиотека Word поддерживает и другие операции с документами Word, такие как:

Преобразование Word в PDF в Java

Защита документов Word в Java

Добавление водяных знаков в документы Word на Java

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем