هدر بخشی از سند است که در حاشیه بالایی ظاهر می شود و به طور کلی حاوی اطلاعاتی مانند شماره صفحه، تاریخ و نام سند است. با Aspose.Words REST APIs میتوانید شماره صفحه را در سند Word و همچنین سرصفحههای صفحه وارد کنید. به طور پیش فرض، سرصفحه ها در هر صفحه یکسان هستند، اما می توانیم هدرهای متفاوتی برای صفحات زوج و فرد ایجاد کنیم.
هدف این پست دستیابی به طرح بندی زیر از سند است که در آن هدر صفحه اول با بقیه صفحات متفاوت است:
قبل از فراخوانی هر Aspose REST API، باید Aspose Cloud Account ایجاد کنیم و App Key و App SID خود را دریافت کنیم. مقاله شروع به کار نحوه انجام این مراحل را توضیح می دهد.
علاوه بر این، باید سند نمونه را در Cloud Storage آپلود کنیم، زیرا تمام عملیات روی سند در Cloud انجام خواهد شد:
// برای نمونه کامل و فایل داده، لطفاً به 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
Insert Header Footer 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);
پس از اجرای قطعه کد بالا، پاراگراف های خالی به سربرگ سند اضافه شده است. حال، برای افزودن متن به این هدرها، از API Insert Paragraph استفاده می کنیم. کد نشان داده شده در زیر متن «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);
قالب بندی را به متن سرصفحه اعمال کنید
قالببندی را میتوان با استفاده از Update Run Font 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);
در نهایت سرصفحه و شماره صفحه را به سند اضافه کرده ایم.
پست پیشنهادی:
همچنین توصیه می کنیم برای کسب اطلاعات بیشتر، پست های وبلاگ زیر را مرور کنید: