يُعد الرأس قسمًا من المستند يظهر في الهامش العلوي ويحتوي عمومًا على معلومات مثل رقم الصفحة والتاريخ واسم المستند. باستخدام واجهات برمجة تطبيقات REST الخاصة بـ Aspose.Words، يمكنك إدراج رقم الصفحة في مستند Word بالإضافة إلى رؤوس الصفحات. بشكل افتراضي، تكون الرؤوس هي نفسها في كل صفحة، ولكن يمكننا إنشاء رؤوس مختلفة للصفحات الفردية والزوجية.

تهدف هذه التدوينة إلى تحقيق التصميم التالي للمستند، حيث يكون الرأس في الصفحة الأولى مختلفًا عن بقية الصفحات:

أدخل رقم الصفحة
إدراج رأس الصفحة

قبل استدعاء أي واجهة برمجة تطبيقات Aspose REST، نحتاج إلى إنشاء حساب Aspose 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

إدراج رأس وتذييل تضيف واجهة برمجة التطبيقات رؤوسًا في مستند ويمكن لمعلمة 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. يضيف الكود الموضح أدناه نص “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);

تطبيق التنسيق على نص الرأس

يمكن تطبيق التنسيق على نص الرأس باستخدام واجهة برمجة التطبيقات تحديث خط التشغيل. تقبل واجهة برمجة التطبيقات كائن 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 تُستخدم واجهة برمجة التطبيقات لإدراج أرقام الصفحات في مستند Word. تقبل واجهة برمجة التطبيقات كائن 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);

وأخيرًا، أضفنا الرؤوس وأرقام الصفحات إلى المستند.

التدوينة المقترحة:

نوصي أيضًا بمراجعة منشورات المدونة التالية لمعرفة المزيد حول: