Wordのヘッダーとフッターは、ドキュメントをフォーマットしたり、ドキュメントのトピック、ページ番号、コピーライトなどの有用な情報を表示するために使用されます。Free Spire.Doc for Javaを使用すると、JavaアプリケーションでWordドキュメントのヘッダーとフッターを追加、挿入、または削除することができます。今回は、Wordドキュメントにヘッダーとフッターを追加・削除する方法を、以下の2つのパートからご紹介します。
【依存関係の追加】
この方法は、無料のFree Spire.Doc for Javaが必要ですので、先にjarファイルをインポートしてください。
1. Maven
Maven を使用している場合、プロジェクトの pom.xml ファイルに以下のコードを追加することで、簡単にアプリケーションに JAR ファイルをインポートすることができます。
<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.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
2. 公式サイトよりJarファイルをダウンロード
まず、Free Spire.Doc for Java の公式サイトよりzipファイルをダウンロードします。zipファイルを解凍し、libフォルダの下にあるSpire.Doc.jarファイルを依存関係としてプロジェクトにインポートしてください。
Wordドキュメントにヘッダーとフッターを追加する
Spire.Docは、Wordドキュメントのヘッダーまたはフッターにテキスト、画像、ライン、ページ番号を追加することをサポートしています。
- Documentクラスのインスタンスを作成し、Document.loadFromFile() メソッドでWordドキュメントを読み込みます。
- Document.getSections().get() メソッドを使用して、最初のセクションを取得します。
- section.getHeadersFooters().getHeader() メソッドを使用してヘッダーを取得し、section.getHeadersFooters().getFooter() メソッドを使用してフッターを取得します。
- header.addParagraph() メソッドを使用して、ヘッダーに段落を追加しています。
- headerParagraph.appendPicture() メソッドを使用してヘッダーとして画像を挿入し、画像の位置を設定します。
- headerParagraph.appendText() メソッドを使用してヘッダーにテキストを挿入し、テキストの形式を設定します。
- footer.addParagraph() メソッドを使用してフッターに段落を追加します。
- footerParagraph.appendField() メソッドでField_PageフィールドとField_Num_Pagesフィールドをフッターの段落に追加し、それらの書式を設定する。
- Document.saveToFile() メソッドを使用して、ドキュメントをファイルに保存します。
Java
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.DocPicture;
import com.spire.doc.fields.TextRange;
import java.awt.*;
public class insertHeaderFooter {
public static void main(String[] args) throws Exception {
//Documentクラスのインスタンスを作成する
Document document = new Document();
//Wordドキュメントを読み込む
document.loadFromFile("Sample.docx");
//最初のセクションを取得する
Section section = document.getSections().get(0);
//insertHeaderAndFooterメソッドを呼び出し、セクションにヘッダーとフッターを追加する
insertHeaderAndFooter(section);
//ドキュメントをファイルに保存する
document.saveToFile("ヘッダーとフッター.docx", FileFormat.Docx);
}
private static void insertHeaderAndFooter(Section section) {
//セクションからヘッダーとフッターを取得する
HeaderFooter header = section.getHeadersFooters().getHeader();
HeaderFooter footer = section.getHeadersFooters().getFooter();
//ヘッダーに段落を追加する
Paragraph headerParagraph = header.addParagraph();
//ヘッダー段落に画像を挿入し、その位置を設定する
DocPicture headerPicture = headerParagraph.appendPicture("ヘッダー.jpg");
headerPicture.setHorizontalAlignment(ShapeHorizontalAlignment.Center);
headerPicture.setVerticalOrigin(VerticalOrigin.Top_Margin_Area);
headerPicture.setVerticalAlignment(ShapeVerticalAlignment.Top);
//ヘッダー段落にテキストを追加する
TextRange text = headerParagraph.appendText("農村の資本主義化");
text.getCharacterFormat().setFontName("Yu Mincho");
text.getCharacterFormat().setFontSize(10);
text.getCharacterFormat().setItalic(true);
text.getCharacterFormat().setTextColor(Color.RED);
headerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);
//テキストの折り返しスタイルを設定する
headerPicture.setTextWrappingStyle(TextWrappingStyle.Behind);
//ヘッダー段落の下部のボーダースタイルを設定する
headerParagraph.getFormat().getBorders().getBottom().setBorderType(BorderStyle.Single);
headerParagraph.getFormat().getBorders().getBottom().setLineWidth(1f);
//ヘッダーの距離を調整する
section.getPageSetup().setHeaderDistance(70);
//フッターに段落を追加する
Paragraph footerParagraph = footer.addParagraph();
//フッター段落にField_PageとField_Num_Pagesのフィールドを追加する
footerParagraph.appendField("ページ番号", FieldType.Field_Page);
footerParagraph.appendText(" / ");
footerParagraph.appendField("ページ数", FieldType.Field_Num_Pages);
footerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
//フッター段落の上部のボーダースタイルを設定する
footerParagraph.getFormat().getBorders().getTop().setBorderType(BorderStyle.Single);
footerParagraph.getFormat().getBorders().getTop().setLineWidth(1f);
//フッターの距離を調整する
section.getPageSetup().setFooterDistance(70);
}
}
【結果のWordドキュメント】
Wordドキュメントからヘッダーとフッターを削除する
Wordドキュメントには、先頭ページ、奇数ページ、偶数ページという3種類のヘッダーとフッターが存在します。この例では、Spire.Doc for Javaを使用して、Wordドキュメント内の先頭ページ、奇数ページ、偶数ページのヘッダーとフッターをすべて削除する方法を紹介します。
- Documentクラスのインスタンスを作成します。
- Document.loadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
- Document.getSections().get() メソッドを使用して、最初のセクションを取得します。
- section.getHeadersFooters().getByHeaderFooterType() メソッドを使用して、すべてのヘッダーとフッターを取得します。
- HeaderFooter.getChildObjects().clear() メソッドを使用して、すべてのヘッダーとフッターを削除します。
- Document.saveToFile() メソッドを使用して、ドキュメントをファイルに保存します。
Java
import com.spire.doc.*;
import com.spire.doc.documents.*;
public class removeHeaderFooter {
public static void main(String[] args) throws Exception {
//Documentクラスのインスタンスを作成する
Document document = new Document();
//Wordドキュメントを読み込む
document.loadFromFile("ヘッダーとフッター.docx");
//最初のセクションを取得する
Section section = document.getSections().get(0);
//1ページ目のヘッダーを削除する
HeaderFooter header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_First_Page);
if (header != null)
header.getChildObjects().clear();
//奇数ページのヘッダーを削除する
header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Odd);
if (header != null)
header.getChildObjects().clear();
//偶数ページのヘッダーを削除する
header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Even);
if (header != null)
header.getChildObjects().clear();
//1ページ目のフッターを削除する
HeaderFooter footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_First_Page);
if (footer != null)
footer.getChildObjects().clear();
//奇数ページのフッターを削除する
footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Odd);
if (footer != null)
footer.getChildObjects().clear();
//偶数ページのフッターを削除する
footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Even);
if (footer != null)
footer.getChildObjects().clear();
//結果のドキュメントを保存する
document.saveToFile("ヘッダーとフッターの削除.docx", FileFormat.Docx_2013);
}
}
【結果のWordドキュメント】
Word ドキュメントにヘッダーとフッターを追加、挿入、削除する方法を学ぶことができます。もし、まだ何か問題がある場合や、もっと文書の扱い方を学びたい場合は、Spire.Doc Forumでより詳しい情報をご覧になってください。