Word 文档中的每个段落都有意或无意地使用着某一种段落样式。段落样式可以是内置样式,例如标题1和标题2,也可以是自定义样式。本文介绍了如何使用 Spire.Doc for Java 提取使用特定样式的段落。
下表列出了MS Word中的样式名称及其在 Spire.Doc 中的对应名称。简单判断的原则是编程返回的样式名称不包含空格。
MS Word 的样式名称 | Spire.Doc 的样式名称 |
Title | Title |
Subtitle | Subtitle |
Heading 1 | Heading1 |
Heading 2 | Heading2 |
Heading 3 | Heading3 |
No Spacing | NoSpacing |
Quote | Quote |
Intense Quote | IntenseQuote |
List Paragraph | ListParagraph |
Normal | Normal |
Custom Name | CustomName |
安装 Spire.Doc for Java
首先,您需要在 Java 程序中添加 Spire.Doc.jar 文件作为依赖项。JAR 文件可以从 此链接 下载。 如果您使用 Maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而轻松地在应用程序中导入 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>12.11.9</version>
</dependency>
</dependencies>
提取使用特定样式的段落
您可以通过 Paragraph.getStyleName() 方法获取特定段落的样式名称。 如果段落的样式名称正好是您需要的,则可以使用 Paragraph.getText() 方法获取段落内容。以下是提取使用特定样式段落的步骤。
- 加载示例 Word 文档,初始化 Document 对象。
- 循环遍历文档各个节。
- 使用 Section.getParagraphs().get() 方法从其中某个节获取特定段落。
- 使用 Paragraph.getStyleName() 方法获取段落的样式名称并确定样式是否为“标题 1”。
- 如果是,则使用 Paragraph.getText() 方法提取段落的文本。
- Java
import com.spire.doc.Document;
import com.spire.doc.documents.Paragraph;
public class GetParagraphByStyleName {
public static void main(String[] args) {
//在初始化Document对象时加载示例Word文档
Document doc = new Document("C:\\Users\\Administrator\\Desktop\\sample.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");
}
//判断段落样式是否为“My Custom Style”
if (paragraph.getStyleName().equals("MyCustomStyle")) {
//获取“My Custom Style”中的段落文本
System.out.println("My Custom Style: " + paragraph.getText());
}
}
}
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 获取有效期 30 天的临时许可证。