`

Java 读取Word中的文本和图片

阅读更多

本文将介绍通过Java来提取或读取Word文档中文本和图片的方法。这里提取文本和图片包括同时提取文档正文当中以及页眉、页脚中的的文本和图片。

使用工具:Free Spire.Doc for Java (免费版)

Jar文件导入方法(参考):

方法1下载jar文件包。下载后解压文件,并将lib文件夹下的Spire.Doc.jar文件导入到java程序。导入效果参考如下:

方法2:可通过maven导入。参考导入方法

 

Java代码示例(供参考)

 

【示例1】提取Word中的文本

import com.spire.doc.*;
import java.io.FileWriter;
import java.io.IOException;

public class ExtractText {
    public static void main(String[] args) throws IOException{
        //加载测试文档
        Document doc = new Document();
        doc.loadFromFile("test.docx");

        //获取文本保存为String
        String text = doc.getText();

        //将String写入Txt
        writeStringToTxt(text,"提取文本.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();
            }
        }
    }
}

 

【示例2】提取Word中的图片

import com.spire.doc.Document;
import com.spire.doc.documents.DocumentObjectType;
import com.spire.doc.fields.DocPicture;
import com.spire.doc.interfaces.ICompositeObject;
import com.spire.doc.interfaces.IDocumentObject;
import javax.imageio.ImageIO;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;

public class ExtractImg {
    public static void main(String[] args) throws IOException {
        //加载Word文档
        Document document = new Document();
        document.loadFromFile("test.docx");

        //创建Queue对象
        Queue nodes = new LinkedList();
        nodes.add(document);

        //创建List对象
        List images = new ArrayList();

        //遍历文档中的子对象
        while (nodes.size() > 0) {
            ICompositeObject node = (ICompositeObject) 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);

                    //获取图片并添加到List
                    if (child.getDocumentObjectType() == DocumentObjectType.Picture) {
                        DocPicture picture = (DocPicture) child;
                        images.add(picture.getImage());
                    }
                }
            }
        }

        //将图片保存为PNG格式文件
        for (int i = 0; i < images.size(); i++) {
            File file = new File(String.format("图片-%d.png", i));
            ImageIO.write((RenderedImage) images.get(i), "PNG", file);
        }

    }
}

 

(本文完)

 

0
1
分享到:
评论

相关推荐

    Java读取word文档内容并输出成网页(含图片,公式)

    在这个场景中,我们将重点讨论如何使用Java POI读取Word文档并将其内容转换为HTML网页,同时确保图片和公式等复杂元素能够正确显示。 首先,你需要在你的Java项目中引入Apache POI库。可以通过Maven或Gradle来添加...

    Java读取多Word文档中指定位置的表格数据或文本内容

    Java读取Word文档中指定位置(可以自己自定义位置)的表格数据或文本内容 * @param filePath 文档路径 * @param start 指定位置开始读取表格数据的该位置上的字符串 * @param end 指定位置开始结束读取表格数据的该...

    java读取word2003

    在Java编程环境中,读取Word 2003文档是一项常见的任务,这通常涉及到处理`.doc`文件格式。为了实现这个功能,开发者可以利用各种库,如Apache POI或者JODConverter。Apache POI是一个流行的开源项目,它提供了对...

    java读取Word文档依赖jar包

    在本文中,我们将详细讨论如何使用Apache POI库来读取Word文档,以及在Java项目中如何添加和配置依赖。 首先,要使用Apache POI读取Word文档,你需要下载并引入相关的jar包。在给定的压缩包“poi读取word依赖包”中...

    JAVA读取WORD_EXCEL_POWERPOINT_PDF文件的方法(poi)

    JAVA 读取 WORD_EXCEL_POWERPOINT_PDF 文件的方法(poi) JAVA 读取 WORD_EXCEL_POWERPOINT_PDF 文件的方法是使用 Apache POI 库来实现的。POI 库是一个开放源代码的 Java 库,提供了对 Microsoft Office 文件格式...

    java 利用POI读取Word文件中的内容

    在Java中,读取Word文档(.docx格式)主要使用XWPF(XML Word Processing)API。以下是使用POI读取Word文件的基本步骤: 1. **添加依赖**:在项目中引入Apache POI的依赖库。如果你使用的是Maven,可以在pom.xml...

    java读取word文档

    在使用Java读取Word文档时,可能会遇到一些常见问题,例如读取含图片的文档时报错。这通常与所使用的库对非文本内容的处理机制有关。为避免此类问题,可以在图片前添加换行符或空白行,以确保文本提取的顺利进行。 ...

    POI读取word文档的文字内容和图片内容

    在本主题中,我们将深入探讨如何使用POI库读取Word文档中的文字内容和图片。 首先,我们需要理解Word文档的基本结构。Word文档本质上是由一系列基于XML的数据存储在.OFFICEML格式的文件中,这使得我们可以通过解析...

    java准确读取word页码

    在Java编程环境中,读取Word文档的页码是一项常见的任务,尤其在处理大量文档数据时。这个场景下,我们通常会使用Apache POI库,这是一个强大的API,专门用于处理Microsoft Office格式的文件,包括Word(.doc和.docx...

    java读取word文档.pdf

    首先,标题“java读取word文档.pdf”和描述“java读取word文档.pdf”暗示了文章内容可能涉及使用Java语言读取Word文档的技术。 从片段中可以提取到的关键技术点包括: 1. Apache POI库:Apache POI是一个开源的...

    java实现读取word文件并且上传到数据库

    提供的压缩包文件"java读取word和Excel文件"可能包含了示例代码或模板,用于展示如何结合Apache POI和JDBC实现上述功能。通过研究这些文件,你可以更深入地理解如何在Java中实现这个任务。 总的来说,这个项目涉及...

    java数据源导出WORD文档(包括图片、表格及文本)

    最近因项目开发的需要,整理了一份用JAVA导出WORD文档,其部署步骤如下: 1、将jacob-1.14.3-x86.dll放在服务器的系统盘(或运行本机的系统):\WINDOWS\system32目录下。 2、将jacob-1.14.3-x86.dll放在JDK 的 bin ...

    Java Poi流根据Word模板插入相应的文本、表格和图片,并生成新的Word报告。

    在这个场景中,我们关注的是如何利用Java POI库通过Word模板生成包含特定文本、表格和图片的报告。 首先,我们需要了解Java POI中的XWPFDocument类,它是用来处理.docx文件的。XWPFDocument可以读取、修改和创建...

    java读取word,excel,pdf等文本

    ### Java读取Word、Excel及PDF文档的知识点详解 #### 一、概述 在实际开发过程中,经常需要处理各种格式的文档,如Word、Excel、PDF等。这些文档的读取通常涉及到不同的技术和库。本篇文章将详细介绍如何使用Java...

    java 将内容,图片写到word中

    本示例将重点讲解如何利用Java将文本内容和图片写入Word文档,以实现这一功能。 首先,我们需要引入一个库来帮助我们处理Word文档。Apache POI是一个流行的API,它允许程序员创建、修改和显示MS Office格式的文件,...

    Java Poi流 根据Word模板插入相应的文本、表格和图片,生成新的Word报告

    在本主题中,我们将深入探讨如何使用Java POI流处理Word模板,插入文本、表格和图片,以及生成新的Word报告。 1. **Java POI流处理Word模板**: - POI API提供了`XWPFDocument`类来处理`.docx`文件,这是Word 2007...

    POI解析word2007文本及图片(已测试).doc

    Apache POI 提供了对 Word 2007 文本和图片的解析功能,允许开发者读取和提取 Word 文档中的文本和图片内容。 Word 2007 文档结构 Word 2007 文档是基于 OpenXML 标准的,使用 ZIP 压缩文件格式来存储文档内容。...

    java 读取 word poi用到的jar包文件

    Java 使用Apache POI库来读取Word文档是常见的操作,特别是在处理大量文本数据或自动化办公文档处理时。Apache POI是一个强大的开源项目,它允许Java开发者读取、写入和修改Microsoft Office格式的文件,包括Word(....

    java 读取 doc docx word 中的内容 数据

    ### Java读取DOC/DOCX/Word文档内容的数据方法 #### 概述 在实际开发过程中,经常需要处理各种格式的文档数据。其中,Word文档(.doc 和 .docx)是最常见的一种类型。Java提供了多种库来读取这些文档中的内容,...

Global site tag (gtag.js) - Google Analytics