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>13.10.6</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 天的临时许可证。
 
    


 
					



