頁首是文件的一部分,出現在上邊距中,通常包含頁碼、日期和文件名稱等資訊。使用 Aspose.Words REST API,您可以在 Word 文件中插入頁碼以及頁首。預設情況下,每個頁面的標題都是相同的,但是我們可以為奇數頁和偶數頁建立不同的標題。

這篇文章的目標是實現以下文件佈局,其中首頁上的標題與其他頁面不同:

插入頁碼
插入標題

在呼叫任何 Aspose REST API 之前,我們需要建立 Aspose Cloud 帳戶 並取得我們的 App Key 和 App SID。 入門 文章介紹如何執行這些步驟。

此外,我們需要將範例文件上傳到雲端儲存,因為對該文件的所有操作都將在雲端進行:

// 有關完整的範例和資料文件,請造訪 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter / InsertHeadersAndPageNumbersToAWordDocument.cs

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

// 將來源文檔上傳至雲端存儲
PutCreateRequest request = new PutCreateRequest(fileName, File.OpenRead(@"c:\Data\" + fileName), null, null);
storageApi.PutCreate(request);

在 Word 文件中插入標題

插入頁首頁尾 API 在文件中新增頁眉,其 headerFooterType 參數可以採用以下六個值之一:

  • HeaderFirst - 該部分第一頁的標題。
  • HeaderPrimary - 主標題,也用於奇數頁。
  • HeaderEven - 偶數頁的頁首。
  • FooterFirst - 該部分第一頁的頁腳。
  • FooterPrimary - 主頁腳,也用於奇數頁。
  • FooterEven - 偶數頁的頁腳。

請使用 HeaderFirst 值在首頁插入頁首:

// 有關完整的範例和資料文件,請造訪 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter / InsertHeadersAndPageNumbersToAWordDocument.cs

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

// 為第一頁插入頁眉
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderFirst", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);

和 HeaderPrimary 值,用於在其餘頁面中插入標題:

// 有關完整的範例和資料文件,請造訪 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter / InsertHeadersAndPageNumbersToAWordDocument.cs

// 為所有其他頁面插入頁眉
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderPrimary", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);

由於第一個標頭與其他標頭不同,因此將 DifferentFirstPageHeaderFooter 參數值設為 true,如下所示:

// 如需完整的範例和資料文件,請造訪 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter /InsertHeadersAndPageNumbersToAWordDocument.cs

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

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

執行上述程式碼片段後,空段落已新增至文件的標題。現在,為了在這些標題中添加文本,我們將使用 Insert Paragraph API。下面顯示的程式碼在第一個標題中新增「Aspose」文本,並在所有其他標題中新增「Cloud File Format APIs」文字:

// 如需完整的範例和資料文件,請造訪 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter /InsertHeadersAndPageNumbersToAWordDocument.cs

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

將格式應用於標題文本

可以使用 更新運行字體 API 將格式套用至標題文字。 API 在其主體中接受 fontDto 對象,其資源屬性的詳細資訊在 更新 Word 文件中文字的字體屬性 文章中給出。以下程式碼將標題文字的字體系列設定為 Verdana,文字大小設定為 14,文字顏色設定為黑色。

// 如需完整的範例和資料文件,請造訪 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter /InsertHeadersAndPageNumbersToAWordDocument.cs

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

// 將格式套用至首頁標題
var documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/1/paragraphs/0", runIndex);
var actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);

// 將格式套用至所有其他頁面的標題
documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/0/paragraphs/0", runIndex);
actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);

進行上述 API 呼叫後,輸入文件如下所示:

在 Word 文件中插入頁碼

InsertPageNumbers API 用於在 Word 文件中插入頁碼。該 API 在其主體中接受以下 JSON 物件:

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

由於我們要在頁眉中新增頁碼,因此我們將 IsTop 參數的值設為 true。但是,若要在頁腳中新增頁碼,請將該值設為 false。

// 如需完整的範例和資料文件,請造訪 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter /InsertHeadersAndPageNumbersToAWordDocument.cs

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

最後,我們為文件添加了標題和頁碼。

建議貼文:

我們還建議您查看以下部落格文章以了解更多資訊: