Bekerja dengan Header dan Footer
Aspose.Words memungkinkan pengguna untuk bekerja dengan header dan footer dalam sebuah dokumen. Header adalah teks yang ditempatkan di bagian atas halaman, dan footer adalah teks di bagian bawah halaman. Biasanya, area ini digunakan untuk menyisipkan informasi yang harus diulang pada seluruh atau beberapa halaman dokumen, seperti nomor halaman, tanggal pembuatan, informasi perusahaan, dan sebagainya.
Buat Header atau Footer menggunakan DocumentBuilder
Jika Anda ingin menambahkan header atau footer dokumen secara terprogram, cara termudah adalah menggunakan kelas DocumentBuilder untuk melakukannya.
Contoh kode berikut menunjukkan cara menambahkan header dan footer untuk halaman dokumen:
Tentukan Opsi Header atau Footer
Saat Anda menambahkan header atau footer ke dokumen, Anda dapat mengatur beberapa properti tingkat lanjut. Aspose.Words memberi pengguna kelas HeaderFooter dan HeaderFooterCollection, serta enumerasi HeaderFooterType yang memberi Anda kontrol lebih besar atas proses penyesuaian header dan footer.
Tentukan Jenis Header atau Footer
Anda dapat menentukan tiga tipe header berbeda dan tiga tipe footer berbeda untuk satu dokumen:
- Header dan/atau footer untuk halaman pertama
- Header dan/atau footer untuk halaman genap
- Header dan/atau footer untuk halaman ganjil
Contoh kode berikut menunjukkan cara menambahkan header untuk halaman dokumen ganjil:
Tentukan Apakah Akan Menampilkan Header atau Footer Berbeda untuk Halaman Pertama
Seperti disebutkan di atas, Anda juga dapat mengatur header atau footer berbeda untuk halaman pertama. Untuk melakukan ini, Anda perlu menyetel tanda DifferentFirstPageHeaderFooter ke true
dan kemudian menentukan nilai HeaderFirst atau FooterFirst.
Contoh kode berikut menunjukkan cara menyetel header untuk halaman pertama saja:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Specify that we want different headers and footers for first page. | |
builder.PageSetup.DifferentFirstPageHeaderFooter = true; | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderFirst); | |
builder.Write("Header for the first page."); | |
builder.MoveToHeaderFooter(HeaderFooterType.FooterFirst); | |
builder.Write("Footer for the first page."); | |
builder.MoveToSection(0); | |
builder.Writeln("Page 1"); | |
builder.InsertBreak(BreakType.PageBreak); | |
builder.Writeln("Page 2"); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.DifferentFirstPage.docx"); |
Tentukan Apakah Akan Menampilkan Header atau Footer Berbeda untuk Halaman Ganjil atau Genap
Selanjutnya, Anda ingin mengatur header atau footer yang berbeda untuk halaman ganjil dan genap dalam sebuah dokumen. Untuk melakukan ini, Anda perlu menyetel tanda OddAndEvenPagesHeaderFooter ke true
dan kemudian menentukan nilai HeaderPrimary dan HeaderEven, atau FooterPrimary dan FooterEven.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Specify that we want different headers and footers for even and odd pages. | |
builder.PageSetup.OddAndEvenPagesHeaderFooter = true; | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderEven); | |
builder.Write("Header for even pages."); | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary); | |
builder.Write("Header for odd pages."); | |
builder.MoveToHeaderFooter(HeaderFooterType.FooterEven); | |
builder.Write("Footer for even pages."); | |
builder.MoveToHeaderFooter(HeaderFooterType.FooterPrimary); | |
builder.Write("Footer for odd pages."); | |
builder.MoveToSection(0); | |
builder.Writeln("Page 1"); | |
builder.InsertBreak(BreakType.PageBreak); | |
builder.Writeln("Page 2"); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.OddEvenPages.docx"); |
Sisipkan Gambar yang Diposisikan Sepenuhnya ke dalam Header
Untuk menempatkan gambar di header atau footer, gunakan tipe header HeaderPrimary atau tipe footer FooterPrimary dan metode InsertImage.
Contoh kode berikut menunjukkan cara menambahkan gambar ke header:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary); | |
builder.InsertImage(ImagesDir + "Logo.jpg", RelativeHorizontalPosition.RightMargin, 10, | |
RelativeVerticalPosition.Page, 10, 50, 50, WrapType.Through); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.InsertImage.docx"); |
Atur Properti Font dan Paragraf untuk Teks Header atau Footer
Dengan Aspose.Words Anda dapat mengatur properti font dan paragraf, menggunakan tipe header HeaderPrimary atau tipe footer FooterPrimary, serta metode dan properti untuk bekerja dengan font dan paragraf yang Anda gunakan untuk badan dokumen.
Contoh kode berikut menunjukkan cara mengatur teks di header menjadi Arial, tebal, ukuran 14, dan perataan tengah:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary); | |
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center; | |
builder.Font.Name = "Arial"; | |
builder.Font.Bold = true; | |
builder.Font.Size = 14; | |
builder.Write("Header for page."); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.FontProps.docx"); |
Masukkan Nomor Halaman ke Header atau Footer
Jika perlu, Anda dapat menambahkan nomor halaman pada header atau footer. Untuk melakukannya, gunakan tipe header HeaderPrimary atau tipe footer FooterPrimary dan metode InsertField untuk menambahkan bidang yang diperlukan.
Contoh kode berikut menunjukkan cara menambahkan nomor halaman ke footer di sebelah kanan:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.MoveToHeaderFooter(HeaderFooterType.FooterPrimary); | |
builder.ParagraphFormat.Alignment = ParagraphAlignment.Right; | |
builder.Write("Page "); | |
builder.InsertField("PAGE", ""); | |
builder.Write(" of "); | |
builder.InsertField("NUMPAGES", ""); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.PageNumbers.docx"); |
Gunakan Header atau Footer yang Ditentukan di Bagian Sebelumnya
Jika Anda perlu menyalin header atau footer dari bagian sebelumnya, Anda juga dapat melakukannya.
Contoh kode berikut menunjukkan cara menyalin header atau footer dari bagian sebelumnya:
Pastikan tampilan Header atau Footer saat Menggunakan Orientasi Halaman dan Ukuran Halaman Berbeda
Aspose.Words memungkinkan Anda memberikan tampilan header atau footer saat menggunakan orientasi dan ukuran halaman berbeda.
Contoh berikut menunjukkan cara melakukannya:
Cara Menghapus Header Saja atau Footer Saja
Setiap bagian dalam dokumen dapat memiliki hingga tiga header dan hingga tiga footer (untuk halaman pertama, genap, dan ganjil). Jika Anda ingin menghapus semua header atau footer dalam dokumen, Anda perlu mengulang semua bagian dan menghapus setiap node header atau node footer yang sesuai.
Contoh kode berikut menunjukkan cara menghapus semua footer dari semua bagian tetapi membiarkan header tetap utuh. Anda hanya dapat menghapus header dengan cara serupa: