Word ドキュメントのすべての段落では、意図的または非意図的に段落スタイルが使用されます。段落スタイルは、見出し1や見出し2などの組み込みスタイルであることもあれば、カスタマイズされたスタイルであることもあります。この記事では、Spire.Doc for Java を使用して、特定のスタイルを使用している段落を抽出する方法を紹介します。
下表は、MS Word のスタイル名と Spire.Doc のスタイル名の対応表です。非常に簡単なルールとして、プログラミングによって返されるスタイル名にはスペースが含まれません。
MS Word のスタイル名 | Spire.Doc のスタイル名 |
表題 | Title |
副題 | Subtitle |
見出し1 | Heading1 |
見出し2 | Heading2 |
見出し3 | Heading3 |
行間詰め | NoSpacing |
引用文 | Quote |
引用文2 | IntenseQuote |
リスト段落 | ListParagraph |
標準 | Normal |
カスタム名 | CustomName |
Spire.Doc for Java をインストールします
まず、Spire. Doc for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>12.3.1</version>
</dependency>
</dependencies>
特定のスタイルを使用している段落の抽出
特定の段落のスタイル名は、Paragraph.getStyleName() メソッドで取得できます。段落のスタイル名がまさに照会したいものである場合は、Paragraph.getText() メソッドを使用して段落の内容を取得できます。以下は、特定のスタイルを使用している段落を抽出する手順です。
- Document オブジェクトを初期化しながら Word ドキュメントを読み込みます。
- ドキュメント内のセクションをループします。
- Section.getParagraphs().get() メソッドを使用して、特定のセクションから特定の段落を取得します。
- Paragraph.getStyleName() メソッドを使用して段落のスタイル名を取得し、そのスタイルが "見出し1" であるかどうかを判断します。
- そうであれば、Paragraph.getText() メソッドを使用して段落のテキストを抽出します。
- Java
import com.spire.doc.Document;
import com.spire.doc.documents.Paragraph;
public class ExtractWordParagraphByStyle {
public static void main(String[] args) {
// Documentオブジェクトを初期化しながらサンプルのWordドキュメントをロードする
Document doc = new Document("サンプル.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")) {
// 「Heading 1」の段落のテキストを取得する
System.out.println("見出し1: " + paragraph.getText() + "\n");
}
// 段落のスタイルが「My Custom Style」かどうかを判定する
if (paragraph.getStyleName().equals("私のカスタムスタイル")) {
// 「私のカスタムスタイル」の段落のテキストを取得する
System.out.println("カスタムスタイル: " + paragraph.getText());
}
}
}
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。