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

Текст и изображения — важнейшие элементы, которые могут обогатить содержимое документа Word. Когда пользователям необходимо работать с текстом или изображениями отдельно от документа, оптимальным решением является их программное извлечение из документа Word. Извлечение текста гарантирует большее удобство и эффективность при работе с большими документами по сравнению с ручным копированием текста. Кроме того, извлечение изображений позволяет пользователям выполнять дальнейшее редактирование изображений в документе или без труда делиться ими с другими. В этой статье мы покажем, как извлекать текст и изображения из Word на Java с помощью библиотеки Free Spire.Doc for Java.
- Извлечение текста из Word в Java
- Извлечение изображений из Word в Java
Установка файла Free Spire.Doc.jar
Если вы создали
Maven-проект, вы можете легко импортировать jar в свое приложение, используя
следующие конфигурации. Для проектов, не использующих Maven, загрузите jar-файл
по этой
ссылке и добавьте его в качестве зависимости в свое приложение. 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(); } } } } Извлекая изображения,
пользователи могут без проблем импортировать их в другие приложения для
дальнейшей обработки. 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 в Java
Извлечение изображений из Word в Java
Резюме