Başlık, belgenin üst kenar boşluğunda görünen ve genellikle sayfa numarası, tarih ve belge adı gibi bilgileri içeren bir bölümüdür. Aspose.Words REST API’leri ile Word belgesine sayfa numaralarının yanı sıra sayfa başlıkları da ekleyebilirsiniz. Varsayılan olarak, başlıklar her sayfada aynıdır, ancak tek ve çift sayfalar için farklı başlıklar oluşturabiliriz.

Bu yazının amacı, ilk sayfadaki başlığın diğer sayfalardan farklı olduğu aşağıdaki belge düzenini elde etmektir:

Sayfa numarasını ekle
Başlık ekle

Herhangi bir Aspose REST API’sini çağırmadan önce, Aspose Cloud hesabı oluşturmamız ve Uygulama Anahtarımızı ve Uygulama SID’mizi almamız gerekir. Başlarken makalesi bu adımların nasıl gerçekleştirileceğini açıklar.

Ayrıca, belge üzerindeki tüm işlemler Cloudta gerçekleştirileceğinden örnek belgeyi [Cloud Depolama]‘ya 4 yüklememiz gerekiyor:

// Tam bir örnek ve veri dosyası için lütfen https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs adresine gidin.

string MyAppKey = ""; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = ""; // Get AppKey and AppSID from https://dashboard.aspose.cloud/

StorageApi storageApi = new StorageApi(MyAppKey, MyAppSid);

string fileName = "Sample-Document.docx";

// Kaynak belgeyi Cloud Depolamaya yükleyin
PutCreateRequest request = new PutCreateRequest(fileName, File.OpenRead(@"c:\Data\" + fileName), null, null);
storageApi.PutCreate(request);

Word Belgesine Başlık Ekleme

Üstbilgi Altbilgi Ekle API, bir belgeye üstbilgiler ekler ve headerFooterType parametresi aşağıdaki altı değerden birini alabilir:

  • HeaderFirst - Bölümün ilk sayfasının başlığı.
  • HeaderPrimary - Birincil başlık, tek numaralı sayfalar için de kullanılır.
  • HeaderEven - Çift numaralı sayfalar için üst bilgi.
  • FooterFirst - Bölümün ilk sayfasının alt bilgisi.
  • FooterPrimary - Birincil altbilgi, tek numaralı sayfalar için de kullanılır.
  • FooterEven - Çift numaralı sayfalar için altbilgi.

Lütfen ilk sayfaya başlık eklemek için HeaderFirst değerini kullanın:

// Tam bir örnek ve veri dosyası için lütfen https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs adresine gidin.

string MyAppKey = ""; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = ""; // Get AppKey and AppSID from https://dashboard.aspose.cloud/

WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);

string fileName = "Sample-Document.docx";
string folder = null; // File exists at the root of the storage

// İlk sayfaya Başlık Ekle
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderFirst", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);

ve geri kalan sayfalara başlık eklemek için HeaderPrimary değeri:

// Tam bir örnek ve veri dosyası için lütfen https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs adresine gidin.

// Diğer tüm sayfalar için Başlık Ekle
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderPrimary", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);

İlk header diğerlerinden farklı olduğu için DifferentFirstPageHeaderFooter parametre değerini aşağıda gösterildiği gibi true olarak ayarlayın:

// Tam bir örnek ve veri dosyası için lütfen https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs adresine gidin.

var sectionIndex = 0;
var body = new PageSetup
{
    DifferentFirstPageHeaderFooter = true
};

var pageSetupRequest = new UpdateSectionPageSetupRequest(fileName, sectionIndex, body);
var actual = wordsApi.UpdateSectionPageSetup(pageSetupRequest);

Yukarıdaki kod parçasının yürütülmesinden sonra, belgenin başlıklarına boş paragraflar eklendi. Şimdi, bu başlıklara metin eklemek için Paragraf Ekle API’sini kullanacağız. Aşağıda gösterilen kod, ilk başlığa “Aspose” metnini ve diğer tüm başlıklara “Cloud File Format API’leri” metnini ekliyor:

// Tam bir örnek ve veri dosyası için lütfen https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs adresine gidin.

var run = new Run { Text = "ASPOSE" };
            
var runRequest = new PutRunRequest(fileName, "sections/0/headersfooters/1/paragraphs/0", run);
var actual = wordsApi.PutRun(runRequest);

Başlık Metnine Biçimlendirme Uygula

Biçimlendirme, Update Run Font API’sini kullanarak bir başlığın metnine uygulanabilir. API, gövdesinde fontDto nesnesini kabul eder ve bu nesnenin Kaynak Özellikleri ayrıntıları Update font properties for text in a Word document makalesinde verilmiştir. Aşağıdaki kod, başlık metninin yazı tipi ailesini Verdana, metin boyutunu 14 ve metin rengini siyah olarak ayarlıyor.

// Tam bir örnek ve veri dosyası için lütfen https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs adresine gidin.

var runIndex = 0;
var fontDto = new Font { Bold = true, Name = "Verdana", Size = 14, Color = new XmlColor { Web = "#000000" }  };

// İlk sayfa başlığına biçimlendirme uygulayın
var documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/1/paragraphs/0", runIndex);
var actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);

// Biçimlendirmeyi diğer tüm sayfaların üstbilgisine uygula
documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/0/paragraphs/0", runIndex);
actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);

Yukarıdaki API çağrılarını yaptıktan sonra giriş belgesi aşağıdaki gibi görünecektir:

Word Belgesine Sayfa Numaraları Ekleme

InsertPageNumbers API, bir Word belgesine sayfa numaraları eklemek için kullanılır. API, gövdesinde aşağıdaki JSON nesnesini kabul eder:

{
  "Format": "string",
  "Alignment": "string",
  "IsTop": true,
  "SetPageNumberOnFirstPage": true
}

Başlığa sayfa numaraları eklediğimiz için, IsTop parametresinin değerini true olarak ayarlayacağız. Ancak, alt bilgiye sayfa numaraları eklemek için değeri false olarak ayarlayın.

// Tam bir örnek ve veri dosyası için lütfen https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs adresine gidin.

var body = new PageNumber { Alignment = "right", Format = "{PAGE} of {NUMPAGES}", IsTop = true, SetPageNumberOnFirstPage = true };

var insertPageNumbersRequest = new PostInsertPageNumbersRequest(fileName, body);
var actual = wordsApi.PostInsertPageNumbers(insertPageNumbersRequest);

Son olarak belgeye başlıklar ve sayfa numaraları ekledik.

Önerilen Gönderi:

Daha fazla bilgi edinmek için aşağıdaki blog yazılarını da incelemenizi öneririz: