0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JavaでWordドキュメントにヘッダーとフッターを追加・削除する方法

Posted at

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ドキュメントからヘッダーとフッターを削除する

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ドキュメントからヘッダーとフッターを削除する

Word ドキュメントにヘッダーとフッターを追加、挿入、削除する方法を学ぶことができます。もし、まだ何か問題がある場合や、もっと文書の扱い方を学びたい場合は、Spire.Doc Forumでより詳しい情報をご覧になってください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?