Üst Bilgi ve Alt Bilgi, belgelerde sayfa numarası, konu, bölüm vb. gibi önemli bilgileri göstermek için yaygın olarak kullanılır. Java uygulamalarınız. Bu yazıda, üstbilgi ve altbilgi eklemeyi veya kaldırmayı öğreneceğiz. Aşağıda ayrıntılı olarak inceleyeceğimiz konular yer almaktadır:

Üst Bilgi Alt Bilgi API’sini Ekle veya Kaldır – Kurulum

Word belgelerinde Üst Bilgi ve Alt Bilgi ile çalışmak için, basit API çağrılarının gereksinimleri karşılamamıza yardımcı olacağı Aspose.Words for Java API kullanacağız. JAR dosyasını sürümler bölümünden indirebilir veya aşağıdaki Maven yapılandırmalarını projenize kopyalayabilirsiniz. API, Maven deposu aracılığıyla yapılandırılacak ve bu makalede açıklanan diğer adımlara devam etmeniz iyi olacaktır.

Depo:

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

Bağımlılık:

<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 kullanarak Word Belgesine (DOCX/DOC) Üstbilgi ve Altbilgi Ekleme

Word belgelerine (DOCX/DOC) üst bilgi ve alt bilgi eklemek, kelime işlem belgeleriyle çalışmanın temel ancak önemli bir kullanım durumudur. Ancak farklı senaryolar da mümkündür. Örneğin, üst bilgi ve alt bilgi bölümüne bir resim, tablo veya yalnızca bir miktar metin eklemeniz gerekebilir. Ayrıca, bazen başlık sayfasındaki üst bilgi ve alt bilgi diğer sayfalara göre farklıdır. Bazen üst bilgi ve alt bilgi, çift sayfa numaralarında ve tek sayfa numaralarında farklıdır. Bu nedenle, Word belgelerine üst bilgi ve alt bilgi eklemenin özlü ve basit bir örneğini oluşturduk.

Burada, başlık sayfasına (ilk sayfada) farklı üstbilgi altbilgisi ve sonraki sayfada farklı üstbilgi altbilgisi ekleyeceğiz. Oysa ikinci sayfa, resim, metin ve tablo öğesini içeren özel bir üst bilgi alt bilgisine sahip olacaktır. Java kullanarak word belgelerine (DOCX/DOC) üstbilgi ve altbilgi eklemek veya eklemek için aşağıdaki adımları izlemeniz gerekir.

  1. Document ve DocumentBuilder sınıf nesnelerini başlat
  2. Başlık sayfası için farklı üstbilgi altbilgisi istediğinizi belirtin
  3. Başlık metni için yazı tipi özelliklerini ayarlama
  4. Başlık oluştur ve sonraki sayfalar için
  5. Tablo ekleyin ve sayfa numarası biçimini ayarlayın
  6. Çıkış DOCX dosyasını kaydet

Aşağıdaki kod, Java kullanılarak programlı olarak Word belgelerine (DOCX/DOC) üst bilgi ve alt bilginin nasıl ekleneceğini gösteren bu adımlara dayanmaktadır:

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

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

// İlk sayfanın üstbilgilerinin/altbilgilerinin diğer sayfalardan farklı olmasını isteyip istemediğimizi belirtin.
// Belirtmek için PageSetup.OddAndEvenPagesHeaderFooter özelliğini de kullanabilirsiniz.
// tek ve çift sayfalar için farklı üst bilgiler/alt bilgiler.
pageSetup.setDifferentFirstPageHeaderFooter(true);

// --- İlk sayfa için başlık oluşturun. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);

// Başlık metni için yazı tipi özelliklerini ayarlayın.
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
builder.getFont().setSize(14);
// İlk sayfa için başlık başlığını belirtin.
builder.write("Aspose.Words Header/Footer Creation - Title Page.");

// --- İlk dışındaki sayfalar için başlık oluşturun. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);

// Başlığın üst/sol köşesine kesinlikle konumlandırılmış görüntü ekleyin.
// Sayfanın üst/sol kenarlarından uzaklık 10 punto olarak ayarlanmıştır.
String imageFileName = dataDir + "Aspose.Words.gif";
builder.insertImage(imageFileName, RelativeHorizontalPosition.PAGE, 10, RelativeVerticalPosition.PAGE, 10, 50, 50, WrapType.THROUGH);

builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);
// Diğer sayfalar için başka bir başlık başlığı belirtin.
builder.write("Aspose.Words Header/Footer Creation");

// --- İlk dışındaki sayfalar için altbilgi oluşturun. ---
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);

// Satırdaki metnin bir bölümünü yapmak için iki hücreli tablo kullanıyoruz (sayfa numaralandırmalı)
// sola hizalanacak ve metnin diğer kısmı (telif hakkı ile) sağa hizalanacaktır.
builder.startTable();

// Tablo kenarlıklarını temizle
builder.getCellFormat().clearFormatting();

builder.insertCell();
// İlk hücreyi sayfa genişliğinin 1/3'üne ayarlayın.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 / 3));

// Sayfa numaralandırma metnini buraya ekleyin.
// Geçerli sayfa numarasını ve toplam sayfa sayısını otomatik olarak hesaplamak için PAGE ve NUMPAGES alanlarını kullanır.
builder.write("Page ");
builder.insertField("PAGE", "");
builder.write(" of ");
builder.insertField("NUMPAGES", "");

// Bu metni sola hizalayın.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);

builder.insertCell();
// İkinci hücreyi sayfa genişliğinin 2/3'ü olarak ayarlayın.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 * 2 / 3));

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

// Bu metni sağa hizalayın.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);

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

builder.moveToDocumentEnd();
// Birincil üstbilgilerin/altbilgilerin görüleceği ikinci bir sayfa oluşturmak için sayfa sonu yapın.
builder.insertBreak(BreakType.PAGE_BREAK);

// Ortaya çıkan belgeyi kaydedin.
doc.save(dataDir + "HeaderFooter_Out.docx");

Şimdiye kadar kelime dosyalarına üstbilgi ve altbilgi eklemeyi veya eklemeyi öğrendik. Aşağıda, Baskı Önizleme seçeneği aracılığıyla gördüğünüzde çıktının nasıl göründüğünün bir ekran görüntüsü bulunmaktadır.

Bu özellik, çıktı belgelerinin üstbilgi altbilgisi olarak bazı içerikler eklemek istediğiniz uygulamalarınız tarafından farklı DOC/DOCX belgeleri işlendiğinde çok yardımcı olabilir.

Üst Bilgi Alt Bilgi Ekleme veya Kaldırma

MS Word dosyalarından (DOCX/DOC) üstbilgi ve altbilgiyi silmeyi kontrol etmeye devam edelim.

Java kullanarak Word Belgesinin (DOCX/DOC) Üstbilgisini ve Altbilgisini Silin

Aspose.Words for Java API’yi kullanarak word belgelerinin üst bilgisini ve alt bilgisini silebilirsiniz. Yukarıda tartışıldığı gibi, bir belgeye eklenen üç farklı üstbilgi ve altbilgi türü olabilir. Örneğin, başlık sayfasında, çift sayfalarda ve tek sayfa numaralarında. Aşağıdaki adımları izleyerek bir word dosyasındaki tüm üstbilgileri ve altbilgileri silebilirsiniz:

  1. Kaynak DOCX/DOC dosyasını yükle
  2. Başlık sayfasındaki üst bilgiyi ve alt bilgiyi, çift sayfa numaralarını ve tek sayfa numaralarını bulun
  3. Bulunduğunda gerekli bölümü silin
  4. Çıkış DOCX dosyasını kaydet

Aşağıdaki kod, bu adımları takip eder ve Java kullanarak kelime belgelerinde üstbilgi ve altbilginin nasıl silineceğini gösterir:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Bir bölümde en fazla üç farklı üstbilgi altbilgisi mümkündür (ilk, çift ve tek sayfalar için).
	// Hepsini kontrol edip siliyoruz.
	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();

	// Birincil üstbilgi altbilgi, tek sayfalar için kullanılır.
	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 kullanarak Word Belgesinden (DOCX/DOC) Altbilgiyi Kaldırma

Word dosyalarından üstbilgi ve altbilginin nasıl kaldırılacağını veya silineceğini zaten tartıştık. Ancak, bir Word belgesinin yalnızca alt bilgilerini kaldırmak ve Üstbilgiyi olduğu gibi bırakmak isteyebilirsiniz. Bu gereksinimler aşağıdaki adımlarla kolayca mümkündür:

  1. Kaynak sözcük dosyasını yükleyin (DOCX/DOC)
  2. Word belgesinin her Bölümünü yineleyin
  3. HeaderFooter nesnesini başlat
  4. Giriş dosyasından altbilgiyi sil
  5. Güncellenmiş DOCX/DOC dosyasını kaydedin

Aşağıdaki kod parçacığı, Java kullanarak kelime belgesinden altbilginin nasıl kaldırılacağını açıklar:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Bir bölümde en fazla üç farklı alt bilgi mümkündür (ilk, çift ve tek sayfalar için).
	// Hepsini kontrol edip siliyoruz.
	HeaderFooter footer;

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

	// Birincil altbilgi, tek sayfalar için kullanılan altbilgidir.
	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 kullanarak Word Belgesinden (DOCX/DOC) Başlığı Kaldırma

MS Word dosyalarından yalnızca altbilgiyi kaldırmayı veya silmeyi öğrendiğimizden beri. Bunu, Word belgelerinden yalnızca başlıkları kaldırmanız gerekebilecek başka bir adım daha inceleyelim. Altbilgiler aynı kalacak ve etkilenmeyecektir çünkü buradaki odak noktamız yalnızca üstbilgileri silmektir. Aşağıdaki adımlar, bu amaç için benimsenecek prosedürün ana hatlarını sunar:

  1. Girdi Word dosyasını yükle (DOCX/DOC)
  2. HeaderFooter sınıfının bir örneğini başlat
  3. Girdi belgesinin tüm bölümlerinden Başlıkları kaldırın
  4. Güncelleme DOCX dosyasını kaydet

Aşağıdaki kod, Java kullanarak kelime belgelerinden başlığın nasıl silineceğini veya kaldırılacağını gösterir:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Bir bölümde en fazla üç farklı alt bilgi mümkündür (ilk, çift ve tek sayfalar için).
	// Hepsini kontrol edip siliyoruz.
	HeaderFooter header;

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

	// Birincil altbilgi, tek sayfalar için kullanılan altbilgidir.
	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");

Çözüm

Word belgelerinde Üst Bilgi ve Alt Bilgi Ekleme, Ekleme, Kaldırma veya Silme, kelime işlemenin çok önemli ve sık kullanılan bir durumudur. Hemen hemen tüm belgeler, gereksinimlerinize göre Aspose.Words for Java API ile değiştirilebilen Üstbilgiler ve Altbilgiler içerir. Bu makale, Ücretsiz Destek Forumları aracılığıyla bizimle herhangi bir özel kullanım durumunu ve gereksinimleri tartışabileceğiniz ilgili özelliklere genel bir bakış niteliğindedir. Herhangi bir sorunuz ve endişeniz için bize ulaşmaktan çekinmeyin.

Ayrıca bakınız