頁首是文件的一部分,出現在上邊距中,通常包含頁碼、日期和文件名稱等資訊。使用 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);
最後,我們為文件添加了標題和頁碼。
建議貼文:
我們還建議您查看以下部落格文章以了解更多資訊: