Header dan Footer biasanya digunakan dalam dokumen untuk menunjukkan informasi penting seperti nomor halaman, topik, bab, dll. Anda dapat menambah, menyisipkan, menghapus atau menghapus header dan footer di dokumen Word DOCX DOC menggunakan aplikasi Java Anda. Pada artikel ini, kita akan belajar tentang menambahkan atau menghapus header dan footer. Berikut ini adalah topik yang akan kami jelajahi secara detail:

Insert or Remove Header Footer API – Instalasi

Untuk bekerja dengan Header dan Footer dalam dokumen Word, kami akan menggunakan Aspose.Words for Java API di mana panggilan API sederhana akan membantu kami mencapai persyaratan. Anda dapat mengunduh file JAR dari bagian rilis, atau menyalin konfigurasi Maven berikut di proyek Anda. API akan dikonfigurasikan melalui repositori Maven dan Anda dapat melanjutkan dengan langkah lebih lanjut yang dijelaskan dalam artikel ini.

Gudang:

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

Ketergantungan:

<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>

Tambahkan Header dan Footer di Dokumen Word (DOCX/DOC) menggunakan Java

Menambahkan header dan footer dalam dokumen Word (DOCX/DOC) adalah kasus penggunaan dasar namun penting untuk bekerja dengan dokumen pengolah kata. Namun, skenario yang berbeda dimungkinkan. Misalnya, Anda mungkin perlu menambahkan gambar, tabel, atau hanya beberapa teks di bagian header dan footer. Selain itu, terkadang header dan footer pada halaman judul berbeda dengan halaman lain. Terkadang header dan footer berbeda pada nomor halaman genap dan berbeda pada nomor halaman ganjil. Oleh karena itu, kami telah membuat contoh ringkas dan dasar untuk menambahkan header dan footer di dokumen Word.

Di sini kita akan menyisipkan footer header yang berbeda pada halaman judul (halaman pertama), dan footer header yang berbeda pada halaman berikutnya. Sedangkan halaman kedua akan memiliki footer header khusus termasuk elemen gambar, teks, dan tabel. Anda perlu mengikuti langkah-langkah di bawah ini untuk menambahkan atau menyisipkan header dan footer pada dokumen word (DOCX/DOC) menggunakan Java.

  1. Inisialisasi objek kelas Document dan DocumentBuilder.
  2. Tentukan bahwa Anda menginginkan footer header yang berbeda untuk halaman judul
  3. Setel properti font untuk teks header
  4. Buat tajuk dan untuk halaman berikutnya
  5. Sisipkan tabel dan atur format nomor halaman
  6. Simpan file DOCX keluaran

Kode berikut didasarkan pada langkah-langkah ini yang menunjukkan cara menambahkan header dan footer dalam dokumen Word (DOCX/DOC) secara terprogram menggunakan Java:

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

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

// Tentukan apakah kita ingin header/footer halaman pertama berbeda dari halaman lain.
// Anda juga dapat menggunakan properti PageSetup.OddAndEvenPagesHeaderFooter untuk menentukan
// header/footer yang berbeda untuk halaman ganjil dan genap.
pageSetup.setDifferentFirstPageHeaderFooter(true);

// --- Buat tajuk untuk halaman pertama. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);

// Setel properti font untuk teks header.
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
builder.getFont().setSize(14);
// Tentukan judul tajuk untuk halaman pertama.
builder.write("Aspose.Words Header/Footer Creation - Title Page.");

// --- Buat tajuk untuk halaman selain yang pertama. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);

// Masukkan gambar yang benar-benar diposisikan ke sudut atas/kiri header.
// Jarak dari tepi atas/kiri halaman diatur ke 10 titik.
String imageFileName = dataDir + "Aspose.Words.gif";
builder.insertImage(imageFileName, RelativeHorizontalPosition.PAGE, 10, RelativeVerticalPosition.PAGE, 10, 50, 50, WrapType.THROUGH);

builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);
// Tentukan judul tajuk lain untuk halaman lain.
builder.write("Aspose.Words Header/Footer Creation");

// --- Buat footer untuk halaman selain yang pertama. ---
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);

// Kami menggunakan tabel dengan dua sel untuk membuat satu bagian teks di baris (dengan penomoran halaman)
// untuk disejajarkan ke kiri, dan bagian lain dari teks (dengan hak cipta) untuk disejajarkan dengan kanan.
builder.startTable();

// Hapus batas tabel
builder.getCellFormat().clearFormatting();

builder.insertCell();
// Atur sel pertama menjadi 1/3 dari lebar halaman.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 / 3));

// Sisipkan teks penomoran halaman di sini.
// Ini menggunakan bidang PAGE dan NUMPAGES untuk menghitung secara otomatis nomor halaman saat ini dan jumlah total halaman.
builder.write("Page ");
builder.insertField("PAGE", "");
builder.write(" of ");
builder.insertField("NUMPAGES", "");

// Sejajarkan teks ini ke kiri.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);

builder.insertCell();
// Atur sel kedua menjadi 2/3 dari lebar halaman.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 * 2 / 3));

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

// Sejajarkan teks ini ke kanan.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);

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

builder.moveToDocumentEnd();
// Make page break untuk membuat halaman kedua di mana header/footer utama akan terlihat.
builder.insertBreak(BreakType.PAGE_BREAK);

// Simpan dokumen yang dihasilkan.
doc.save(dataDir + "HeaderFooter_Out.docx");

Sejauh ini kita telah mempelajari cara menambahkan atau menyisipkan header dan footer pada file word. Di bawah ini adalah tangkapan layar tampilan keluaran saat Anda melihatnya melalui opsi Pratinjau Cetak.

Fitur ini dapat sangat membantu ketika dokumen DOC/DOCX yang berbeda diproses oleh aplikasi Anda di mana Anda ingin menambahkan beberapa konten sebagai header footer dari dokumen keluaran.

Tambah atau Hapus Header Footer

Mari kita lanjutkan untuk memeriksa menghapus header dan footer dari file MS Word (DOCX/DOC).

Hapus Header dan Footer Dokumen Word (DOCX/DOC) menggunakan Java

Anda dapat menghapus header dan juga footer dari dokumen word menggunakan Aspose.Words for Java API. Seperti dibahas di atas, mungkin ada tiga jenis header dan footer yang ditambahkan dalam dokumen. Misalnya pada halaman judul, pada halaman genap, dan nomor halaman ganjil. Anda dapat menghapus semua header dan footer di file kata hanya dengan mengikuti langkah-langkah di bawah ini:

  1. Muat file DOCX/DOC sumber
  2. Temukan header dan footer pada halaman judul, nomor halaman genap, dan nomor halaman ganjil
  3. Hapus bagian yang diperlukan saat ditemukan
  4. Simpan file DOCX keluaran

Kode di bawah mengikuti langkah-langkah ini dan menunjukkan cara menghapus header dan footer di dokumen word menggunakan Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Hingga tiga footer header yang berbeda dimungkinkan dalam satu bagian (untuk halaman pertama, genap, dan ganjil).
	// Kami memeriksa dan menghapus semuanya.
	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();

	// Header footer primer digunakan untuk halaman ganjil.
	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");

Hapus Footer dari Dokumen Word (DOCX/DOC) menggunakan Java

Kami telah membahas cara menghapus atau menghapus header dan footer dari file word. Namun, Anda mungkin ingin menghapus hanya footer dari dokumen Word sementara Header tetap utuh. Persyaratan ini dapat dengan mudah dilakukan dengan langkah-langkah berikut:

  1. Muat file kata sumber (DOCX/DOC)
  2. Ulangi setiap Bagian dari dokumen kata
  3. Inisialisasi objek HeaderFooter.
  4. Hapus footer dari file input
  5. Simpan file DOCX/DOC yang diperbarui

Cuplikan kode berikut menjelaskan cara menghapus footer dari dokumen Word menggunakan Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Hingga tiga footer yang berbeda dimungkinkan dalam satu bagian (untuk halaman pertama, genap, dan ganjil).
	// Kami memeriksa dan menghapus semuanya.
	HeaderFooter footer;

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

	// Footer utama adalah footer yang digunakan untuk halaman ganjil.
	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");

Hapus Header dari Dokumen Word (DOCX/DOC) menggunakan Java

Karena kami telah belajar menghapus atau menghapus hanya footer dari file MS Word. Mari kita jelajahi ini selangkah lebih jauh di mana Anda mungkin perlu menghapus hanya header dari dokumen Word. Footer akan tetap sama dan tidak terpengaruh karena fokus kita disini adalah menghapus header saja. Langkah-langkah berikut memberikan garis besar prosedur yang akan diadopsi untuk tujuan ini:

  1. Muat file Word masukan (DOCX/DOC)
  2. Inisialisasi instance dari kelas HeaderFooter.
  3. Hapus Header dari semua bagian dokumen input
  4. Simpan pembaruan file DOCX

Kode di bawah ini menunjukkan cara menghapus atau menghapus tajuk dari dokumen kata menggunakan Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Hingga tiga footer berbeda dimungkinkan dalam satu bagian (untuk halaman pertama, genap, dan ganjil).
	// Kami memeriksa dan menghapus semuanya.
	HeaderFooter header;

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

	// Footer utama adalah footer yang digunakan untuk halaman ganjil.
	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");

Kesimpulan

Tambah, Sisipkan, Hapus atau Hapus Header dan Footer dalam dokumen Word adalah kasus penggunaan pengolah kata yang sangat penting dan sering. Hampir semua dokumen berisi Header dan Footer, yang dapat dimanipulasi dengan Aspose.Words for Java API sesuai kebutuhan Anda. Artikel ini adalah ikhtisar fitur terkait tempat Anda dapat mendiskusikan kasus dan persyaratan penggunaan khusus apa pun dengan kami melalui Forum Dukungan Gratis. Jangan ragu untuk menghubungi kami jika ada pertanyaan dan masalah.

Lihat juga