在日常操作Word文档时,我们时常会给段落文本设置样式,比如给文档标题设置“标题1”样式,给内容小标题设置“标题2”样式。当我们想获取Word文档中的某个段落文本时,就可以依据其样式进行操作,这样会更加方便快捷。本文将使用 Free Spire.Doc for Java 免费控件来演示 如何通过Java代码提取使用了特定样式的段落内容 。
安装 Free Spire.Doc for Java
首先,您需要在 Java 程序中添加Spire.Doc. JAR 文件作为依赖项。JAR文件可以从 E-iceblue中文官网 获取。如果您使用 Maven ,则可以将以下代码添加到项目的pom.xml文件中,从而轻松地在应用程序中导入JAR文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
代码示例
Free Spire.Doc for Java提供的Paragraph.getStyleName()方法用于获取特定段落的样式名称。如果段落的样式名称正好是我们所要找的,则可以使用 Paragraph .getText()方法获取段落内容。以下是详细的操作步骤。
- 初始化Document对象,加载Word示例文档。
- 循环遍历文档各个节。
- 使用Section.getParagraphs().get()方法获取某个节中的特定段落。
- 使用Paragraph.getStyleName()方法获取段落的样式名称并确定样式是否为“标题 1”。
- 如果是,则使用Paragraph.getText()方法提取段落的文本。
import com.spire.doc.Document;
import com.spire.doc.documents.Paragraph;
public class GetParagraphWithStyle {
public static void main(String[] args) {
//在初始化Document对象时加载示例Word文档
Document doc = new Document("C:\Users\Test1\Desktop\test.docx");
//声明一个变量
Paragraph paragraph;
//循环遍历各个节
for (int i = 0; i < doc.getSections().getCount(); i++) {
//循环遍历特定节的段落
for (int j = 0; j < doc.getSections().get(i).getParagraphs().getCount(); j++) {
//获取特定段落
paragraph = doc.getSections().get(i).getParagraphs().get(j);
//确定段落样式是否为“Heading 1”
if (paragraph.getStyleName().equals("Heading1")) {
//获取“Heading1”中段落的文本
System.out.println("Heading 1: " + paragraph.getText() + "n");
}
}
}
}
}