使用 Java 提取 HTML 文件中的纯文本内容 、实现原理Free Spire.Doc for Java 是一款免费库其核心设计围绕 Word 文档的段落、节、表格等元素展开。当调用loadFromFile方法并指定FileFormat.Html时库内部会将 HTML 标签、样式和文本映射到自己的文档对象模型中。随后调用getText()方法库会遍历文档树将所有文本节点的内容拼接并返回同时过滤掉 HTML 标签和大部分脚本/样式内容。这种方式本质上是一种“将 HTML 解析为富文本再提取纯文本”的桥接方案。二、环境准备添加依赖在项目的pom.xml中添加仓库地址与依赖坐标!-- 仓库配置 -- repositories repository idcom.e-iceblue/id namee-iceblue/name urlhttps://repo.e-iceblue.com/nexus/content/groups/public//url /repository /repositories !-- 核心依赖 -- dependency groupIde-iceblue/groupId artifactIdspire.doc.free/artifactId version14.3.1/version /dependency如果使用 Gradleimplementation e-iceblue:spire.doc.free:14.3.1jar或者手动下载 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 文本提取有页数限制仅满足中小型项目、个人开发的基础需求复杂文档处理场景可根据业务选型其他方案。