news 2026/6/25 17:02:28

使用 Java 提取 HTML 文件中的纯文本内容

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用 Java 提取 HTML 文件中的纯文本内容

、实现原理

Free Spire.Doc for Java 是一款免费库,其核心设计围绕 Word 文档的段落、节、表格等元素展开。当调用loadFromFile方法并指定FileFormat.Html时,库内部会将 HTML 标签、样式和文本映射到自己的文档对象模型中。

随后调用getText()方法,库会遍历文档树,将所有文本节点的内容拼接并返回,同时过滤掉 HTML 标签和大部分脚本/样式内容。这种方式本质上是一种“将 HTML 解析为富文本再提取纯文本”的桥接方案。


二、环境准备

添加依赖:在项目的pom.xml中添加仓库地址与依赖坐标:

<!-- 仓库配置 --> <repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <!-- 核心依赖 --> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.doc.free</artifactId> <version>14.3.1</version> </dependency>

如果使用 Gradle:

implementation 'e-iceblue:spire.doc.free:14.3.1@jar'

或者手动下载 JAR 文件并添加到 classpath。


三、Java 实现代码

下面是一个完整的示例,展示如何读取 HTML 文件、提取文本并保存为 TXT 文件。

import com.spire.doc.Document; import com.spire.doc.FileFormat; import java.io.FileWriter; import java.io.IOException; public class ExtractTextFromHTML { public static void main(String[] args) { // 1. 创建 Document 对象 Document doc = new Document(); // 2. 加载 HTML 文件(指定格式为 Html) doc.loadFromFile("Sample.html", FileFormat.Html); // 3. 获取提取的纯文本 String text = doc.getText(); // 4. 将文本写入输出文件 try (FileWriter fileWriter = new FileWriter("HTMLText.txt")) { fileWriter.write(text); System.out.println("文本提取完成,已保存至 HTMLText.txt"); } catch (IOException e) { System.err.println("写入文件失败:" + e.getMessage()); } } }

代码说明

  • 第 1 步:实例化Document类,这是 Free Spire.Doc 的核心入口,用于承载文档内容。
  • 第 2 步loadFromFile方法有两个参数:文件路径和文件格式。FileFormat.Html告诉库按 HTML 方式解析输入。
  • 第 3 步getText()返回文档中所有文本内容的字符串表示,换行符和空格按内部规则保留,但 HTML 标签被完全剥离。
  • 第 4 步:使用 try-with-resources 语法安全地写入 TXT 文件。

四、注意事项与局限性

1. 文本布局简化

getText()返回的文本不保证保留原始 HTML 中的表格结构、缩进或列表符号。对于需要保持格式的提取任务(如表格转 CSV),此方法可能不适用。

2. 对 JavaScript 和 CSS 的处理

库在加载 HTML 时会忽略<script><style>标签内的内容,但部分内联样式或事件属性可能残留于文本?实际测试表明,getText()基本只提取可见文本节点,不会输出脚本或样式代码,比较干净。

3. 免费版适用场景

免费版本支持轻量级 HTML 文本提取,有页数限制仅满足中小型项目、个人开发的基础需求;复杂文档处理场景可根据业务选型其他方案。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 16:55:19

MuleSoft+LangChain企业级AI编排实战:打通数据与大模型的数字脐带

1. 项目概述&#xff1a;当企业级集成遇上大模型&#xff0c;为什么“拼积木”式AI落地正在失效&#xff1f;我在金融行业做系统集成顾问整整十二年&#xff0c;从最早的SOAP WebService手写WSDL文档&#xff0c;到后来用MuleSoft搭API网关&#xff0c;再到去年开始被客户拉着一…

作者头像 李华
网站建设 2026/6/25 16:54:56

3分钟解锁B站缓存视频:m4s-converter无损转换工具全攻略

3分钟解锁B站缓存视频&#xff1a;m4s-converter无损转换工具全攻略 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 还在为B站缓存视频只能在官方…

作者头像 李华
网站建设 2026/6/25 16:53:11

连锁拓店 / 公装避坑指南②:预算坑

很多连锁品牌拓店翻车&#xff0c;不是设计不好、施工太差&#xff0c;而是栽在了预算报价上。很多加盟商、品牌负责人&#xff0c;只对比总价选低价&#xff0c;看不懂报价套路&#xff0c;开工后被动加价&#xff0c;单店成本直接失控&#xff0c;批量开店更是亏得连片亏损。…

作者头像 李华
网站建设 2026/6/25 16:48:10

AI赋能红队自动化:HexStrike平台10分钟复现Citrix漏洞攻防解析

1. 项目概述&#xff1a;当红队工具遇上AI&#xff0c;攻防演练进入“快进”时代最近在安全圈里&#xff0c;一个名为HexStrike的工具讨论度很高。它被定位为一款“AI赋能的红队自动化平台”&#xff0c;简单来说&#xff0c;就是让安全测试人员&#xff08;红队&#xff09;能…

作者头像 李华
网站建设 2026/6/25 16:47:55

力扣138随机链表的复制

给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中每个新节点的值都设为其对应的原节点的值。新节点的 ne…

作者头像 李华
网站建设 2026/6/25 16:44:51

C4D安装教程(附安装包)Cinema4D环境配置图文教程

文章目录前言Cinema4D2025下载&#xff08;安装包获取&#xff09;Cinema4D 2025 图文安装流程C4D 2025如何进行三维建模&#xff1f;Cinema4D操作步骤详解前言 Cinema4D C4D 2025 是MAXON公司推出的一款专业三维软件&#xff0c;集建模、动画、渲染功能于一体。无论是制作精良…

作者头像 李华