ヘッダーとフッターは、ページ番号、トピック、章などの重要な情報を表示するためにドキュメントで一般的に使用されます。Wordドキュメントのヘッダーとフッターを追加、挿入、削除、または削除できますDOCX DOC Javaアプリケーション。この記事では、ヘッダーとフッターの追加または削除について学習します。以下は、私たちが詳細に調査するトピックです。

ヘッダーフッターAPIの挿入または削除–インストール

Wordドキュメントでヘッダーとフッターを操作するために、Aspose.Words for Java APIを使用します。ここでは、単純なAPI呼び出しが要件の達成に役立ちます。 JARファイルはリリースセクションからダウンロードするか、プロジェクトに次のMaven構成をコピーできます。 APIはMavenリポジトリーを介して構成され、この記事で説明されているさらなるステップに進むことができます。

リポジトリ:

<repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>https://repository.aspose.com/repo/</url>
    </repository>
</repositories>

依存:

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-words</artifactId>
        <version>20.8</version>
        <classifier>jdk17</classifier>
    </dependency>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-words</artifactId>
        <version>20.8</version>
        <classifier>javadoc</classifier>
    </dependency>
</dependencies>

Javaを使用してWord文書(DOCX / DOC)にヘッダーとフッターを追加する

Word文書(DOCX / DOC)にヘッダーとフッターを追加することは、ワードプロセッシング文書を操作するための基本的でありながら重要なユースケースです。ただし、さまざまなシナリオが可能です。たとえば、ヘッダーとフッターのセクションに画像、表、または一部のテキストのみを追加する必要がある場合があります。さらに、タイトルページのヘッダーとフッターが他のページと異なる場合があります。ヘッダーとフッターは、偶数ページ番号と奇数ページ番号で異なる場合があります。したがって、Word文書にヘッダーとフッターを追加する簡潔で基本的な例を作成しました。

ここでは、タイトルページ(最初のページ)に別のヘッダーフッターを挿入し、次のページに別のヘッダーフッターを挿入します。一方、2ページ目には、画像、テキスト、テーブル要素を含むカスタムヘッダーフッターがあります。 Javaを使用してWord文書(DOCX / DOC)にヘッダーとフッターを追加または挿入するには、以下の手順に従う必要があります。

  1. DocumentおよびDocumentBuilderクラスオブジェクトを初期化します
  2. タイトルページに別のヘッダーフッターが必要であることを指定します
  3. ヘッダーテキストのフォントプロパティを設定する
  4. ヘッダーを作成し、後続のページ用に
  5. 表を挿入し、ページ番号の形式を設定します
  6. 出力DOCXファイルを保存します

次のコードは、Javaを使用してプログラムでWord文書(DOCX / DOC)にヘッダーとフッターを追加する方法を示すこれらの手順に基づいています。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Section currentSection = builder.getCurrentSection();
PageSetup pageSetup = currentSection.getPageSetup();

// 最初のページのヘッダー/フッターを他のページと異なるものにするかどうかを指定します。
// PageSetup.OddAndEvenPagesHeaderFooterプロパティを使用して指定することもできます
// 奇数ページと偶数ページの異なるヘッダー/フッター。
pageSetup.setDifferentFirstPageHeaderFooter(true);

// ---最初のページのヘッダーを作成します。 ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);

// ヘッダーテキストのフォントプロパティを設定します。
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
builder.getFont().setSize(14);
// 最初のページのヘッダータイトルを指定します。
builder.write("Aspose.Words Header/Footer Creation - Title Page.");

// ---最初以外のページのヘッダーを作成します。 ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);

// 絶対位置の画像をヘッダーの左上隅に挿入します。
// ページの上端/左端からの距離は10ポイントに設定されています。
String imageFileName = dataDir + "Aspose.Words.gif";
builder.insertImage(imageFileName, RelativeHorizontalPosition.PAGE, 10, RelativeVerticalPosition.PAGE, 10, 50, 50, WrapType.THROUGH);

builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);
// 他のページに別のヘッダータイトルを指定します。
builder.write("Aspose.Words Header/Footer Creation");

// ---最初以外のページのフッターを作成します。 ---
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);

// 2つのセルを持つテーブルを使用して、行のテキストの一部を作成します(ページ番号付き)
// 左揃えにし、テキストの他の部分(著作権付き)を右揃えにします。
builder.startTable();

// テーブルの境界線をクリア
builder.getCellFormat().clearFormatting();

builder.insertCell();
// 最初のセルをページ幅の1/3に設定します。
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 / 3));

// ここにページ番号のテキストを挿入します。
// PAGEフィールドとNUMPAGESフィールドを使用して、現在のページ数と総ページ数を自動計算します。
builder.write("Page ");
builder.insertField("PAGE", "");
builder.write(" of ");
builder.insertField("NUMPAGES", "");

// このテキストを左揃えにします。
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);

builder.insertCell();
// 2番目のセルをページ幅の2/3に設定します。
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 * 2 / 3));

builder.write("(C) 2020 Aspose Pty Ltd. All rights reserved.");

// このテキストを右揃えにします。
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);

builder.endRow();
builder.endTable();

builder.moveToDocumentEnd();
// ページ分割を行って、プライマリヘッダー/フッターが表示される2番目のページを作成します。
builder.insertBreak(BreakType.PAGE_BREAK);

// 結果のドキュメントを保存します。
doc.save(dataDir + "HeaderFooter_Out.docx");

これまで、Wordファイルにヘッダーとフッターを追加または挿入する方法を学びました。以下は、[印刷プレビュー]オプションで表示した場合の出力のスクリーンショットです。

この機能は、出力ドキュメントのヘッダーフッターとしてコンテンツを追加するアプリケーションでさまざまなDOC/DOCXドキュメントが処理される場合に非常に役立ちます。

ヘッダーフッターの追加または削除

MS Wordファイル(DOCX / DOC)からのヘッダーとフッターの削除を確認してみましょう。

Javaを使用してWord文書(DOCX / DOC)のヘッダーとフッターを削除する

Aspose.Words for Java APIを使用して、Word文書のヘッダーとフッターを削除できます。上で説明したように、ドキュメントには3つの異なるタイプのヘッダーとフッターが追加される可能性があります。たとえば、タイトルページ、偶数ページ、奇数ページ番号などです。以下の手順に従うだけで、Wordファイル内のすべてのヘッダーとフッターを削除できます。

  1. ソースDOCX/DOCファイルをロードします
  2. タイトルページのヘッダーとフッター、偶数ページ番号、奇数ページ番号を検索します
  3. 見つかったら必要なセクションを削除します
  4. 出力DOCXファイルを保存します

以下のコードは、次の手順に従い、Javaを使用してWord文書のヘッダーとフッターを削除する方法を示しています。

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// 1つのセクションで最大3つの異なるヘッダーフッターを使用できます(最初のページ、偶数ページ、奇数ページの場合)。
	// それらすべてをチェックして削除します。
	HeaderFooter footer;
        HeaderFooter header;

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_FIRST);
       	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_FIRST);
        
        
	if (footer != null)
		footer.remove();
        
        	if (header != null)
		header.remove();

	// プライマリヘッダーフッターは奇数ページに使用されます。
	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_PRIMARY);
	if (footer != null)
		footer.remove();
        
        header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_PRIMARY);
	if (header != null)
		header.remove();

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_EVEN);
	if (footer != null)
		footer.remove();
        
       	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_EVEN);
	if (header != null)
		header.remove();
}

doc.save(dataDir + "RemoveHeaderFooter_Out.docx");

Javaを使用してWord文書(DOCX / DOC)からフッターを削除する

Wordファイルからヘッダーとフッターを削除または削除する方法については、すでに説明しました。ただし、ヘッダーをそのままにして、Word文書のフッターのみを削除することもできます。これらの要件は、次の手順で簡単に実行できます。

  1. ソースワードファイルのロード(DOCX / DOC)
  2. ワードドキュメントの各セクションを繰り返します
  3. HeaderFooterオブジェクトを初期化します
  4. 入力ファイルからフッターを削除します
  5. 更新されたDOCX/DOCファイルを保存します

次のコードスニペットは、Javaを使用してWord文書からフッターを削除する方法を説明しています。

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// 1つのセクションで最大3つの異なるフッターを使用できます(最初のページ、偶数ページ、奇数ページの場合)。
	// それらすべてをチェックして削除します。
	HeaderFooter footer;

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_FIRST);
	if (footer != null)
		footer.remove();

	// プライマリフッターは、奇数ページに使用されるフッターです。
	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_PRIMARY);
	if (footer != null)
		footer.remove();

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_EVEN);
	if (footer != null)
		footer.remove();
}
doc.save(dataDir + "RemoveFooters.docx");

Javaを使用してWord文書(DOCX / DOC)からヘッダーを削除する

MSWordファイルからのフッターのみの削除または削除を学習したので。 Word文書からヘッダーのみを削除する必要があるかもしれない、この別のステップをさらに詳しく見ていきましょう。ここでの焦点はヘッダーのみを削除することであるため、フッターは同じままで影響を受けません。次の手順は、この目的で採用される手順の概要を示しています。

  1. 入力Wordファイルの読み込み(DOCX / DOC)
  2. HeaderFooterクラスのインスタンスを初期化します
  3. 入力ドキュメントのすべてのセクションからヘッダーを削除します
  4. 更新DOCXファイルを保存します

以下のコードは、Javaを使用してWord文書からヘッダーを削除または削除する方法を示しています。

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// 1つのセクションで最大3つの異なるフッターを使用できます(最初のページ、偶数ページ、奇数ページの場合)。
	// それらすべてをチェックして削除します。
	HeaderFooter header;

	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_FIRST);
	if (header != null)
		header.remove();

	// プライマリフッターは、奇数ページに使用されるフッターです。
	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_PRIMARY);
	if (header != null)
		header.remove();

	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_EVEN);
	if (header != null)
		header.remove();
}
doc.save(dataDir + "RemoveHeader.docx");

結論

Word文書のヘッダーとフッターの追加、挿入、削除、または削除は、ワードプロセッシングの非常に重要で頻繁な使用例です。ほとんどすべてのドキュメントにはヘッダーとフッターが含まれており、要件に応じてAspose.Words for JavaAPIで操作できます。この記事は、無料サポートフォーラムを介してカスタムユースケースと要件について話し合うことができる関連機能の概要です。ご不明な点やご不明な点がございましたら、お気軽にお問い合わせください。

関連項目