Word ドキュメントのヘッダーとフッターは、ドキュメントページの上部と下部にそれぞれ配置され、ページ番号、ドキュメントタイトル、著者などの情報を表示します。しかし、ドキュメントを印刷したりオンラインで共有したりする場合、プライバシーを保護するためにこれらの情報を削除することが望ましい場合があります。さらに、ヘッダーとフッターは、印刷されたページの貴重なスペースを余分に占め、ドキュメントの全体的な書式を妨げる可能性があります。ヘッダーやフッターを削除することで、ページスペースを確保し、ドキュメントの書式が乱雑にならないようにすることができます。この記事では、Spire.Doc for Java を使用して、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>11.7.0</version>
    </dependency>
</dependencies>ヘッダーとフッターを種類別に削除する
Word ドキュメントでは、最初のページ、奇数ページ、偶数ページに異なるヘッダーとフッターを設定することができます。これらのタイプのヘッダーとフッターは HeaderFooter.getByHeaderFooterType(hfType) メソッドで取得でき、 HeaderFooter.getChildObjects().clear() メソッドで削除できます。
以下に、列挙型と、それらが表すヘッダーとフッターのタイプのリストを示します。
| 列挙型 | 説明 | 
| HeaderFooterType.Header_First_Page | 1ページ目のヘッダーを表します。 | 
| HeaderFooterType.Footer_First_Page | 1ページ目のフッターを表します。 | 
| HeaderFooterType.Header_Odd | 奇数ページのヘッダーを表します。 | 
| HeaderFooterType.Footer_Odd | 奇数ページのフッターを表します。 | 
| HeaderFooterType.Header_Even | 偶数ページのヘッダーを表します。 | 
| HeaderFooterType.Footer_Even | 偶数ページのフッターを表します。 | 
詳しい手順は以下の通り。
- Document クラスのオブジェクトを作成します。
 - Doucment.loadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
 - Document.getSections().get() メソッドを使用して、ドキュメントの最初のセクションを取得します。
 - Section.getHeadersFooters().getByHeaderFooterType() メソッドを使用して最初のページのヘッダーを取得し、HeaderFooter.getChildObjects().clear() メソッドを使用して削除します。
 - 同じメソッドを使用して、最初のページのフッターを削除します。奇数ページと偶数ページのヘッダーとフッターも、これらのメソッドで削除できます。
 - Document.saveToFile() メソッドを使用してドキュメントを保存します。
 
- Java
 
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.HeaderFooter;
import com.spire.doc.Section;
import com.spire.doc.documents.HeaderFooterType;
public class removeHeaderFooter {
    public static void main(String[] args) {
        //Documentクラスのオブジェクトを作成する
        Document doc = new Document();
        //Wordドキュメントを読み込む
        doc.loadFromFile("サンプル.docx");
        //ドキュメントの最初のセクションを取得する
        Section section = doc.getSections().get(0);
        //1ページ目のヘッダーを取得し、その内容を削除する
        HeaderFooter header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_First_Page);
        header.getChildObjects().clear();
        //1ページ目のフッターを取得し、その内容を削除する
        HeaderFooter footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_First_Page);
        footer.getChildObjects().clear();
        //奇数ページのヘッダーとフッターを取得し、その内容を消去する
        //HeaderFooter header1 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Odd);
        //header1.getChildObjects().clear();
        //HeaderFooter footer1 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Odd);
        //footer1.getChildObjects().clear();
        //偶数ページのヘッダーとフッターを取得し、その内容を消去する
        //HeaderFooter header2 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Even);
        //header2.getChildObjects().clear();
        //HeaderFooter footer2 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Even);
        //footer2.getChildObjects().clear();
        //ファイルを保存する
        doc.saveToFile("ヘッダーとフッターの種類別に削除.docx", FileFormat.Auto);
        doc.dispose();
    }
}
ヘッダーとフッターをセクション別に削除する
セクションによってヘッダーとフッターは異なります。あるセクションのヘッダーとフッターを削除するには、Document.getSections().get() メソッドでそのセクションを取得し、HeaderFooter.getChildObjects().clear() メソッドでその中のヘッダーとフッターを削除します。
注意しなければならないのは、セクション内のヘッダーとフッターの内容を削除すると、自動的に前のセクションの内容に変わってしまうということです。そのため、ヘッダーとフッターを削除した後に空白の段落を追加して、自動的に変更されないようにする必要があります。
詳しい手順は以下の通り。
- Document クラスのオブジェクトを作成します。
 - Doucment.loadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
 - Document.getSections().get() メソッドを使用して、ドキュメントの2番目のセクションを取得します。
 - Section.getHeadersFooters().getHeader() メソッドを使用して2番目のセクションのヘッダーを取得し、HeaderFooter.getChildObjects().clear() メソッドを使用してその内容を削除し、HeaderFooter.addParagraph() メソッドを使用して空の段落を追加します。
 - Section.getHeadersFooters().getFooter() メソッドを使用して2番目のセクションのフッターを取得し、HeaderFooter.getChildObjects().clear() メソッドを使用してその内容を削除し、HeaderFooter.addParagraph() メソッドを使用して空の段落を追加します。
 - Document.saveToFile() メソッドを使用してドキュメントを保存します。
 
- Java
 
import com.spire.doc.Document;
import com.spire.doc.HeaderFooter;
import com.spire.doc.Section;
public class removeHeaderFooterSection {
    public static void main(String[] args) {
        //Documentクラスのオブジェクトを作成する
        Document doc = new Document();
        //Wordドキュメントを読み込む
        doc.loadFromFile("サンプル1.docx");
        //ドキュメントの2番目のセクションを取得する
        Section section = doc.getSections().get(1);
        //セクションのヘッダーを取得し、その内容を削除し、空白の段落を追加する
        HeaderFooter header1 = section.getHeadersFooters().getHeader();
        header1.getChildObjects().clear();
        header1.addParagraph();
        //セクションのフッターを取得し、その内容を削除し、空白の段落を追加する。
        HeaderFooter footer1 = section.getHeadersFooters().getFooter();
        footer1.getChildObjects().clear();
        footer1.addParagraph();
        //ファイルを保存する
        doc.saveToFile("ヘッダーとフッターのセクション別に削除.docx");
        doc.dispose();
    }
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
	    
	  	  





