这个简短的教程通过提供详细的分步过程和以不同方式读取示例文档的可运行 Java 代码来提供有关如何在 Java 中阅读 Word 文档的信息。它介绍了用于读取 Word 文件和访问其不同段的必要类。在 阅读 Java 代码中的 Word 文档(如 DOCX、DOC 或其他 MS Word 支持的文件)时,您将遍历文档的不同子节点并根据您的要求处理每个子节点。
在 Java 中读取 Word 文件的步骤
- 使用 Maven 存储库安装 Aspose.Words for Java 以读取 DOCX 文件
- 将源 DOCX 文件加载到 Document 类对象中,以便在 Java 中读取
- 遍历文档中的所有 Paragraph 类型节点
- 将每个段落文本转换为字符串并在控制台上显示
- 遍历文档中的所有 Run 类型节点
- 将每个节点转换为 Run 类型并访问 Run 的字体名称、大小和文本
- 在控制台上显示每个运行文本
这些步骤描述了*如何通过共享链接到配置页面然后引导加载源 Word 文档来读取 Java 中的 Word 文件。一旦 Word 文件被加载,它的文档对象模型 (DOM) 即逻辑结构也被加载并且可以以不同的方式进行解析。这些步骤有助于准备两个主要集合,即段落和运行,以访问加载的 Word 文档的不同部分。
用 Java 读取 DOCX 文件的代码
package word_articles; | |
import com.aspose.words.Document; | |
import com.aspose.words.Font; | |
import com.aspose.words.License; | |
import com.aspose.words.NodeType; | |
import com.aspose.words.Paragraph; | |
import com.aspose.words.Run; | |
import com.aspose.words.SaveFormat; | |
public class ReadWordDocumentInJava { | |
public static void main(String[] args) throws Exception {// Main function to read Word file in Java | |
// Create a license object to avoid limitations of the trial version | |
// while reading the Word file | |
License licWordToPdf = new License(); | |
licWordToPdf.setLicense("Aspose.Words.lic"); | |
// Load the source Word file to be read | |
Document doc = new Document("input.docx"); | |
// Read all the paragraph in the document and display its contents | |
for (Object obj : doc.getChildNodes(NodeType.PARAGRAPH, true)) | |
{ | |
Paragraph para = (Paragraph)obj; | |
System.out.println(para.toString(SaveFormat.TEXT)); | |
} | |
// Read all the Runs in the document and display style and text | |
for (Object obj : doc.getChildNodes(NodeType.RUN, true)) | |
{ | |
Run run = (Run)obj; | |
Font font = run.getFont(); | |
System.out.println(font.getName() + "," + font.getSize()); | |
System.out.println(run.getText()); | |
} | |
System.out.println("Done"); | |
} | |
} |
这个用于读取 Word 文档的 Java 代码演示了通过使用不同的过滤器来解析 DOM,例如,首先我们获取所有段落节点。 Paragraph 类提供了 toString() 函数,该函数从包括表格等在内的整个段落中提取文本并将其保存到字符串变量中。同样,当我们解析文档以获取所有 Runs 时,它会根据样式、字体、节点类型等将内容分开,并根据文本字体样式将单个段落分成多个段,例如单独提供粗体文本、斜体文字分开等等。
本教程指导我们阅读 DOCX 文件,但是,如果您想要某种类型的转换,例如 Word 到 PDF,请参阅 如何在 Java 中将 Word 转换为 PDF 上的文章。