
في عالم إنشاء المستندات والتعاون الديناميكي، تعد القدرة على إضافة التعليقات وإدارتها في Microsoft Word أمرًا لا غنى عنه. تعمل التعليقات كلوحة مناقشة افتراضية، مما يسمح للمتعاونين بتبادل الأفكار واقتراح التحسينات وتقديم الملاحظات دون تغيير المحتوى الأصلي. لا تسهل هذه الميزة التواصل الفعال فحسب، بل إنها تعمل أيضًا على تحسين عملية التحرير التعاوني، مما يجعلها أكثر انسيابية وكفاءة. لذلك، في هذا الدليل، سنتعمق في الجوانب الأساسية لإضافة التعليقات وحذفها، ونكشف عن إمكانات وفوائد هذه الميزة الحيوية في MS Word باستخدام واجهة برمجة تطبيقات .NET REST.
- إدارة التعليقات باستخدام واجهة برمجة تطبيقات .NET REST
- الحصول على تعليقات من ملفات DOCX
- إدراج التعليقات في مستند Word
- تحديث التعليقات في ملف الوورد
- حذف التعليقات من مستند Word
إدارة التعليقات باستخدام واجهة برمجة تطبيقات .NET REST
إن معالجة التعليقات وإضافتها باستخدام Aspose.Words Cloud SDK for .NET توفر مجموعة كبيرة من الفوائد ومجموعة واسعة من الإمكانات التي تتجاوز مجرد إدارة التعليقات. وبصرف النظر عن هذا، توفر SDK أيضًا مجموعة واسعة من الإمكانات بما في ذلك إنشاء مستندات Word، وتحويل Word إلى JPG، وWord إلى PDF، وWord إلى ODT وما إلى ذلك، ومعالجة النصوص والتنسيق، ومعالجة الصور ومجموعة واسعة من الميزات، مما يتيح لك تحسين قدرات معالجة المستندات لمجموعة من السيناريوهات.
الحصول على تعليقات من ملفات DOCX
يمكنك الاستفادة من قراءة جميع التعليقات أو تعليقات محددة من المستند. توفر طريقة GetComments الإمكانيات لقراءة تعليقات المستخدم من ملف DOCX. فيما يلي أمر cURL يمكنك استخدامه لقراءة التعليقات على موجه الأوامر.
أمر cURL
يرجى ملاحظة أنه لقراءة التعليقات، يتعين عليك تقديم التفاصيل المتعلقة بالمستندات المخزنة على التخزين السحابي، بالإضافة إلى حصول المستخدمين المصرح لهم فقط على الأذونات اللازمة للوصول إلى واجهات برمجة التطبيقات. لذلك، يتعين عليك أولاً استرداد رمز مصادقة JWT واستخدامه في الأمر كما هو مذكور أعلاه.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=xxxxxxx-1c8e-4ea4-a948-3857547232fa&client_secret=xxxxxx" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accpet: application/json"
بمجرد إنشاء رمز JWT، يرجى تنفيذ الأمر التالي للحصول على جميع التعليقات داخل مستند Word.
curl -v "https://api.aspose.cloud/v4.0/words/Volume%201.docx/comments" \
-X GET \
-H "accept: application/json" \
-H "Authorization: Bearer <JWT Token>"
طلب عنوان URL
https://api.aspose.cloud/v4.0/words/Volume%201.docx/comments
سي#.نت
لكي تتمكن من قراءة تعليق معين من الوثيقة، يرجى اتباع الخطوات الموضحة أدناه:
- قم بتشغيل مثيل لفئة WordsApi.
- قم بإنشاء كائن من فئة GetCommentRequest حيث نقدم اسم ملف الإدخال Volume 1.docx وقيمة مؤشر التعليق كوسائط إدخال.
- أخيرًا، قم بتهيئة كائن CommentResponse أثناء تمرير القيمة التي تم إرجاعها من طريقة GetComment(..).
const string clientID = "xxxxxxxxx"; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
const string clientSecret = "xxxxxxxx"; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
// تهيئة كائن WordsApi
Aspose.Words.Cloud.Sdk.WordsApi wordsApi = new Aspose.Words.Cloud.Sdk.WordsApi(clientID, clientSecret);
// اسم ملف الإدخال
String filename= "Volume 1.docx";
// فهرس التعليق
int commentIndex = 0;
// create an object of GetCommentRequest where we pass اسم ملف الإدخال and comment index value
Aspose.Words.Cloud.Sdk.Model.Requests.GetCommentRequest request = new Aspose.Words.Cloud.Sdk.Model.Requests.GetCommentRequest(filename, commentIndex, null, null, null, null);
// إنشاء مثيل لـ CommentResponse وقراءة التعليق من المستند
Aspose.Words.Cloud.Sdk.Model.CommentResponse response = wordsApi.GetComment(request);
// عرض التعليق في وحدة التحكم
Console.Write(response.Comment);
احصل على جميع التعليقات
توفر واجهة برمجة التطبيقات أيضًا ميزة الحصول على جميع التعليقات من المستند (في حالة عدم رغبتنا في التنقل بين الأفراد).لهذا المطلب، تحتاج إلى إنشاء مثيل من فئات GetCommentsRequest وCommentsResponse، واستدعاء طريقة GetComments(..) لكائن WordsApi.
إدراج التعليقات في مستند Word
تتمتع واجهة برمجة التطبيقات أيضًا بالقدرة على إضافة/إدراج كائنات تعليق جديدة في مستند Word.
أمر cURL
curl -v "https://api.aspose.cloud/v4.0/words/Volume%201.docx/comments" \
-X POST \
-H "accept: application/json" \
-H "Authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{\"RangeStart\":{\"Node\":{\"link\":{\"Href\":\"https://api.aspose.cloud/v4.0/words/Volume 1.docx/sections/0/body/tables/0/rows/1/cells/1/paragraphs/1/runs/0\",\"Rel\":\"self\",\"Type\":\"string\",\"Title\":\"Heading 2\"},\"NodeId\":\"0.1.0.1.1.1.1\"},\"Offset\":0},\"RangeEnd\":{\"Node\":{\"link\":{\"Href\":\"https://api.aspose.cloud/v4.0/words/Volume 1.docx/sections/0/body/tables/0/rows/1/cells/1/paragraphs/5/runs/0\",\"Rel\":\"self\",\"Type\":\"string\",\"Title\":\"Heading 2\"},\"NodeId\":\"0.1.0.1.1.1.1\"},\"Offset\":0},\"Author\":\"Nayyer Shahbaz\",\"Initial\":\"MOU\",\"DateTime\":\"2020-12-07T04:10:03.942Z\",\"Text\":\"Comments Inserted using Aspose.Words Cloud API\"}"
سي#.نت
const string clientID = "xxxxxxxxx"; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
const string clientSecret = "xxxxxxxx"; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
// تهيئة كائن WordsApi
Aspose.Words.Cloud.Sdk.WordsApi wordsApi = new Aspose.Words.Cloud.Sdk.WordsApi(clientID, clientSecret);
// اسم ملف الإدخال
String filename = "Volume 1.docx";
// فهرس التعليق
int commentIndex = 0;
Aspose.Words.Cloud.Sdk.Model.NodeLink link = new Aspose.Words.Cloud.Sdk.Model.NodeLink()
{
NodeId = "0.1.0.1.1.1.1"
};
Aspose.Words.Cloud.Sdk.Model.DocumentPosition documentPosition = new Aspose.Words.Cloud.Sdk.Model.DocumentPosition()
{
Node = link,
Offset = 0
};
Aspose.Words.Cloud.Sdk.Model.CommentInsert commentInsert = new Aspose.Words.Cloud.Sdk.Model.CommentInsert()
{
Initial = "Aspose",
Author = "Nayyer Shahbaz",
RangeStart = documentPosition,
RangeEnd = documentPosition,
Text = "Comment added through API"
};
// create an object of GetCommentRequest where we pass اسم ملف الإدخال and comment index value
Aspose.Words.Cloud.Sdk.Model.Requests.InsertCommentRequest request =
new Aspose.Words.Cloud.Sdk.Model.Requests.InsertCommentRequest(filename, commentInsert, null, null, null);
// إنشاء مثيل لـ CommentResponse وقراءة التعليق من المستند
Aspose.Words.Cloud.Sdk.Model.CommentResponse response = wordsApi.InsertComment(request);

الصورة 1:- معاينة التعليق الذي تم إدراجه حديثًا
تحديث التعليقات في ملف الوورد
بالإضافة إلى تحليل التعليقات وإضافتها، تدعم واجهة برمجة التطبيقات أيضًا ميزة تحديث التعليقات الموجودة داخل مستند Word.
أمر cURL
curl -X PUT "https://api.aspose.cloud/v4.0/words/Volume%201.docx/comments/1" \
-H "accept: application/json" \
-H "Authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{\"RangeStart\":{\"Node\":{\"link\":{\"Href\":\"https://api.aspose.cloud/v4.0/words/Volume 1.docx/sections/0/body/tables/0/rows/1/cells/1/paragraphs/1/runs/0\",\"Rel\":\"self\",\"Type\":\"string\",\"Title\":\"Heading 1\"},\"NodeId\":\"0.1.0.1.1.1.1\"},\"Offset\":0},\"RangeEnd\":{\"Node\":{\"link\":{\"Href\":\"https://api.aspose.cloud/v4.0/words/Volume 1.docx/sections/0/body/tables/0/rows/1/cells/1/paragraphs/1/runs/0\",\"Rel\":\"string\",\"Type\":\"string\",\"Title\":\"Heading 1\"},\"NodeId\":\"0.1.0.1.1.1.1\"},\"Offset\":0},\"Author\":\"Nayyer Shahbaz\",\"Initial\":\"Aspose.Words\",\"DateTime\":\"2020-12-07T06:18:31.348Z\",\"Text\":\"Comments updated using Aspose.Words Cloud API\"}"
سي#.نت
لكي تتمكن من تحديث التعليقات برمجيًا في مستند Word، يرجى اتباع الإرشادات الموضحة أدناه.
- إنشاء مثيل لفئة WordsApi.
- إنشاء كائن NodeLink الذي يحدد NodeID التعليق.
- يتم إنشاء كائن جديد من فئة DocumentPosition الذي يحدد قيم RangeStart و RangeEnd.
- قم بإنشاء كائن CommentUpdate الذي يحدد الأحرف الأولى للتعليق واسم المؤلف وتفاصيل RangeStart وRangeEnd عن طريق تعيين قيمة مثيل DocumentPosition والنص الذي سيتم تحديثه في التعليق.
const string clientID = "xxxxxxxxx"; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
const string clientSecret = "xxxxxxxx"; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
// تهيئة كائن WordsApi
Aspose.Words.Cloud.Sdk.WordsApi wordsApi = new Aspose.Words.Cloud.Sdk.WordsApi(clientID, clientSecret);
// اسم ملف الإدخال
String filename = "Volume 1.docx";
// فهرس التعليق
int commentIndex = 1;
Aspose.Words.Cloud.Sdk.Model.NodeLink link = new Aspose.Words.Cloud.Sdk.Model.NodeLink()
{
NodeId = "0.1.0.1.1.1.1"
};
Aspose.Words.Cloud.Sdk.Model.DocumentPosition documentPosition = new Aspose.Words.Cloud.Sdk.Model.DocumentPosition()
{
Node = link,
Offset = 0
};
Aspose.Words.Cloud.Sdk.Model.CommentUpdate commentUpdate = new Aspose.Words.Cloud.Sdk.Model.CommentUpdate()
{
Initial = "Aspose",
Author = "Nayyer Shahbaz",
RangeStart = documentPosition,
RangeEnd = documentPosition,
Text = "Comments updated using Aspose.Words Cloud API"
};
// create an object of GetCommentRequest where we pass اسم ملف الإدخال and comment index value
Aspose.Words.Cloud.Sdk.Model.Requests.UpdateCommentRequest request =
new Aspose.Words.Cloud.Sdk.Model.Requests.UpdateCommentRequest(filename, commentIndex, commentUpdate, null, null, null);
// إنشاء مثيل لـ CommentResponse وقراءة التعليق من المستند
Aspose.Words.Cloud.Sdk.Model.CommentResponse response = wordsApi.UpdateComment(request);

الصورة 2:- معاينة التعليقات المحدثة
تم إرفاق الوثيقة الناتجة المجلد 1 - updated.docx أيضًا.
حذف التعليقات من مستند Word
يمكنك أيضًا إزالة/حذف التعليقات من ملف Word باستخدام واجهة برمجة تطبيقات REST السحابية.
أمر cURL
curl -X DELETE "https://api.aspose.cloud/v4.0/words/Volume%201.docx/comments/0" \
-H "accept: /" \
-H "Authorization: Bearer <JWT Token>"
سي#.نت
- إنشاء كائن من فئة WordsApi.
- قم بإنشاء مثيل لفئة DeleteCommentRequest والتي تأخذ ملف إدخال وفهرس التعليق كحجة.
- أخيرًا، طريقة DeleteComment(…) تحتوي على كائن DeleteCommentRequest كحجة.
const string clientID = "xxxxxxxxx"; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
const string clientSecret = "xxxxxxxx"; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
// تهيئة كائن WordsApi
Aspose.Words.Cloud.Sdk.WordsApi wordsApi = new Aspose.Words.Cloud.Sdk.WordsApi(clientID, clientSecret);
// اسم ملف الإدخال
String filename = "Volume 1.docx";
// فهرس التعليق
int commentIndex = 0;
Aspose.Words.Cloud.Sdk.Model.Requests.DeleteCommentRequest request =
new Aspose.Words.Cloud.Sdk.Model.Requests.DeleteCommentRequest(filename, commentIndex, null, null, null, null, null, null, null);
wordsApi.DeleteComment(request);

الصورة 3:- معاينة التعليقات المحذوفة