チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Java»Spire.Doc for Java»ヘッダーとフッター»Java:Word 文書にヘッダーとフッターを挿入する方法
2022-12-22

Java:Word 文書にヘッダーとフッターを挿入する方法

Word 文書におけるヘッダーとは、ページの上部に位置するテキストや画像のコンテンツのことで、フッターはページの下部に位置するものであるということです。 ヘッダーとフッターは、著作権、著者情報、ページ番号など、文書に関する重要な情報を表示するためによく使われます。また、文書をより専門的で美しいものにするために、文書を装飾するためにも使用されます。 ヘッダーとフッターは、文書の各ページまたは最初のページに挿入することができ、文書の奇数ページと偶数ページに異なるヘッダーとフッターを挿入することができます。 この記事では、Spire.Doc for Java を使用してプログラム的に Word 文書にヘッダーとフッターを挿入する方法について説明します。

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>10.12.4</version>
    </dependency>
</dependencies>

Word 文書にヘッダーとフッターを挿入する

Word 文書にヘッダーとフッターを挿入するには、まず Section.getHeadersFooters().getHeader()Section.getHeadersFooters().getFooter() メソッドを使用してヘッダーとフッターを取得しておく必要があります。 そして、それらに段落を追加します。 最後に段落に画像、テキスト、ページ番号などを追加します。

以下に、ヘッダーとフッターの挿入方法の詳細を示します。

  • Document クラスのオブジェクトを作成します。
  • Document.loadFromFIle() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.getSections().get() メソッドを使用して、ドキュメントの最初のセクションを取得します。
  • カスタムの insertHeaderAndFooter() メソッドを使用して、セクションにヘッダーとフッターを挿入します。
  • Document.saveToFile() を使ってドキュメントを保存します。
  • Java
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.TextRange;

public class insertHeaderAndFooter1 {

    public static void main(String[] args) {

        //Documentクラスのオブジェクトを作成する
        Document document = new Document();

        //Wordドキュメントを読み込む
        document.loadFromFile("私たちは織り成す存在である.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();

        //ヘッダーの段落にテキストを追加する
        TextRange text = headerParagraph.appendText("哲学\r私たちは織り成す存在である");
        text.getCharacterFormat().setFontName("Yu Gothic UI");
        text.getCharacterFormat().setFontSize(10);
        text.getCharacterFormat().setItalic(true);
        headerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);

        //ヘッダー段落の下部線のスタイルを設定する
        headerParagraph.getFormat().getBorders().getBottom().setBorderType(BorderStyle.Single);
        headerParagraph.getFormat().getBorders().getBottom().setLineWidth(1f);

        //フッターに段落を追加する
        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);
    }
}

Java:Word 文書にヘッダーとフッターを挿入する方法

Word 文書の最初のページにヘッダーとフッターを挿入する

最初のページにヘッダーとフッターを挿入するだけでよい場合もありますが、これも Spire.Doc for Java を使って行うことができます。 Section.getPageSetup().setDifferentFirstPageHeaderFooter() メソッドを使用して、最初のページのヘッダーとフッターを他のページと異なるものにし、最初のページにヘッダーとフッターを挿入することができます。

最初のページのみにヘッダーとフッターを挿入する詳しい手順は、以下の通りです。

  • Document クラスのオブジェクトを作成します。
  • Document.loadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.getSections().get() メソッドを使用して、ドキュメントの最初のセクションを取得します。
  • Document.getSections().get() メソッドを使用して、最初のページのヘッダーとフッターを他のページと異なるように設定します。
  • カスタムの insertHeaderAndFooterFirst() メソッドを使用して、最初のページにヘッダーとフッターを挿入します。
  • 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 insertHeaderAndFooter {

    public static void main(String[] args) {

        //Documentクラスのオブジェクトを作成する
        Document document = new Document();

        //Wordドキュメントを読み込む
        document.loadFromFile("私たちは織り成す存在である.docx");

        //ドキュメントの最初のセクションを取得する
        Section section = document.getSections().get(0);

        //ドキュメントの最初のページのヘッダーとフッターを他のページと異なるように設定する
        section.getPageSetup().setDifferentFirstPageHeaderFooter(true);

        //カスタム insertHeaderAndFooterFirst() メソッドを呼び出して、最初のページにヘッダとフッタを挿入する
        insertHeaderAndFooterFirst(section);

        //ドキュメントを保存する
        document.saveToFile("最初のページのヘッダーとフッター.docx", FileFormat.Docx);
    }

    private static void insertHeaderAndFooterFirst(Section section) {

        //ドキュメントの最初のページのヘッダーとフッターを取得する
        HeaderFooter header = section.getHeadersFooters().getFirstPageHeader();
        HeaderFooter footer = section.getHeadersFooters().getFirstPageFooter();

        //ヘッダーに段落を追加する
        Paragraph headerParagraph = header.addParagraph();

        //ヘッダーの段落にテキストを追加する
        TextRange text = headerParagraph.appendText("哲学");
        text.getCharacterFormat().setFontName("Yu Gothic UI");
        text.getCharacterFormat().setFontSize(14);
        text.getCharacterFormat().setTextColor(Color.blue);
        text.getCharacterFormat().setItalic(true);
        headerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);

        //ヘッダー段落に画像を挿入し、その位置を設定する
        DocPicture headerPicture = headerParagraph.appendPicture("ヘッダー.png");
        headerPicture.setHorizontalAlignment(ShapeHorizontalAlignment.Left);
        headerPicture.setVerticalAlignment(ShapeVerticalAlignment.Top);

        //ヘッダー段落の下部線のスタイルを設定する
        headerParagraph.getFormat().getBorders().getBottom().setBorderType(BorderStyle.Single);
        headerParagraph.getFormat().getBorders().getBottom().setLineWidth(1f);

        //画像の文字列の折り返しスタイルを背面に設定する
        headerPicture.setTextWrappingStyle(TextWrappingStyle.Behind);

        //フッターに段落を追加する
        Paragraph footerParagraph = footer.addParagraph();

        //フッター段落にテキストを追加する
        TextRange text1 = footerParagraph.appendText("私たちは織り成す存在である");
        text1.getCharacterFormat().setFontName("Yu Gothic UI");
        text1.getCharacterFormat().setFontSize(14);
        text1.getCharacterFormat().setTextColor(Color.blue);
        text1.getCharacterFormat().setItalic(true);
        footerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);

        //フッター段落の上部線のスタイルを設定する
        footerParagraph.getFormat().getBorders().getTop().setBorderType(BorderStyle.Single);
        footerParagraph.getFormat().getBorders().getTop().setLineWidth(1f);
    }
}

Java:Word 文書にヘッダーとフッターを挿入する方法

Word 文書の奇数ページと偶数ページで異なるヘッダーとフッターを挿入する

また、奇数ページと偶数ページで異なるヘッダーとフッターを挿入する必要がある状況に遭遇することがあります。Spire.Doc for Java では、これらのニーズに対応するために、奇数ページと偶数ページで異なるヘッダーとフッターを作成するメソッド、Section.getPageSetup().setDifferentOddAndEvenPagesHeaderFooter() が用意されています。

奇数ページと偶数ページで異なるヘッダーとフッターを挿入する詳しい手順は、以下のとおりです。

  • Document クラスのオブジェクトを作成します。
  • Document.loadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.getSections().get() メソッドを使用して、ドキュメントの最初のセクションを取得します。
  • Section.getPageSetup().setDifferentOddAndEvenPagesHeaderFooter() メソッドを使用して、奇数ページと偶数ページのヘッダーとフッターを異なるものに設定します。
  • カスタムの insertHeaderAndFooterOddEven() メソッドを使用すると、奇数ページと偶数ページに異なるヘッダーとフッターを挿入します。
  • Document.saveToFile() メソッドを使用して、ドキュメントを保存します。
  • Java
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.TextRange;

import java.awt.*;

public class insertHeaderAndFooter {

    public static void main(String[] args) {

        //Documentクラスのオブジェクトを作成する
        Document document = new Document();

        //Wordドキュメントを読み込む
        document.loadFromFile("私たちは織り成す存在である.docx");

        //ドキュメントの最初のセクションを取得する
        Section section = document.getSections().get(0);

        //奇数ページと偶数ページのヘッダーとフッターを異なるものに設定する
        section.getPageSetup().setDifferentOddAndEvenPagesHeaderFooter(true);

        //カスタム insertHeaderAndFooterOddEven() メソッドを呼び出し、奇数ページと偶数ページに異なるヘッダーとフッターを挿入する
        insertHeaderAndFooterOddEven(section);

        //ドキュメントを保存する
        document.saveToFile("奇数ページと偶数ページのヘッダーとフッター.docx", FileFormat.Docx);
    }

    private static void insertHeaderAndFooterOddEven(Section section) {

        //奇数ページにヘッダーを挿入する
        Paragraph P1 = section.getHeadersFooters().getOddHeader().addParagraph();
        TextRange OH = P1.appendText("奇数ページのヘッダー");
        P1.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        OH.getCharacterFormat().setFontName("Yu Gothic UI");
        OH.getCharacterFormat().setFontSize(16);
        OH.getCharacterFormat().setTextColor(Color.BLUE);
        P1.getFormat().getBorders().getBottom().setBorderType(BorderStyle.Single);
        P1.getFormat().getBorders().getBottom().setLineWidth(1f);

        //偶数ページにヘッダーを挿入
        Paragraph P2 = section.getHeadersFooters().getEvenHeader().addParagraph();
        TextRange EH = P2.appendText("偶数ページのヘッダー");
        P2.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        EH.getCharacterFormat().setFontName("Yu Gothic UI");
        EH.getCharacterFormat().setFontSize(16);
        EH.getCharacterFormat().setTextColor(Color.BLUE);
        P2.getFormat().getBorders().getBottom().setBorderType(BorderStyle.Single);
        P2.getFormat().getBorders().getBottom().setLineWidth(1f);

        //奇数ページにフッターを挿入
        Paragraph P3 = section.getHeadersFooters().getOddFooter().addParagraph();
        TextRange OF = P3.appendText("奇数ページのフッター");
        P3.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        OF.getCharacterFormat().setFontName("Yu Gothic UI");
        OF.getCharacterFormat().setFontSize(16);
        OF.getCharacterFormat().setTextColor(Color.BLUE);
        P3.getFormat().getBorders().getTop().setBorderType(BorderStyle.Single);
        P3.getFormat().getBorders().getTop().setLineWidth(1f);

        //偶数ページにフッターを挿入する
        Paragraph P4 = section.getHeadersFooters().getEvenFooter().addParagraph();
        TextRange EF = P4.appendText("偶数ページのフッター");
        EF.getCharacterFormat().setFontName("Yu Gothic UI");
        EF.getCharacterFormat().setFontSize(16);
        P4.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        EF.getCharacterFormat().setTextColor(Color.BLUE);
        P4.getFormat().getBorders().getTop().setBorderType(BorderStyle.Single);
        P4.getFormat().getBorders().getTop().setLineWidth(1f);
    }
}

Java:Word 文書にヘッダーとフッターを挿入する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 543 times