يوفر لك Microsoft Word القدرة على إضافة تعليقات إلى مستندات Word. يمكن أن تكون التعليقات مفيدة في حالات مثل اقتراح تحسينات في المستندات أو مشاركة الأفكار حول النص. قد تكون هناك مواقف تحتاج فيها إلى إدارة التعليقات برمجيًا. تحقيقًا لهذه الغاية ، ستعلمك هذه المقالة كيفية التعامل مع التعليقات في مستندات Word باستخدام C ++.
- واجهة برمجة تطبيقات C ++ للعمل مع التعليقات في مستندات Word
- أضف تعليقات إلى مستندات Word باستخدام C ++
- قراءة التعليقات من مستند Word
- تعديل التعليقات في مستند Word باستخدام C ++
- حذف التعليقات من مستند Word باستخدام C ++
واجهة برمجة تطبيقات C ++ للعمل مع التعليقات في مستندات Word
Aspose.Words for C ++ هي مكتبة C ++ أصلية تتيح لك إنشاء مستندات Microsoft Word وقراءتها وتعديلها وتحويلها. بالإضافة إلى ذلك ، فإنه يدعم أيضًا التعامل مع التعليقات في ملفات DOCX و DOC. يمكنك إما تثبيت API من خلال NuGet أو تنزيلها مباشرة من قسم التنزيلات.
PM> Install-Package Aspose.Words.Cpp
أضف تعليقات إلى مستندات Word باستخدام C ++
يوفر Aspose.Words for C ++ API القدرة على إضافة تعليقات مع اسم المؤلف والأحرف الأولى والتاريخ / الوقت. فيما يلي خطوات إضافة تعليقات إلى مستندات Word.
- أولاً ، قم بتحميل مستند Word باستخدام فئة المستند.
- قم بإنشاء مثيل لفئة DocumentBuilder بتمرير كائن Document الذي تم إنشاؤه في الخطوة السابقة.
- أنشئ التعليق باستخدام فئة تعليق.
- أضف التعليق إلى المستند باستخدام DocumentBuilder-> getCurrentParagraph() -> AppendChild (System :: SharedPtrAspose::Words::Node newChild) طريقة.
- أخيرًا ، احفظ المستند باستخدام طريقة Document-> Save (System :: String fileName).
يوضح نموذج التعليمات البرمجية التالي كيفية إضافة تعليقات إلى مستندات Word باستخدام C ++.
// مسارات الدليل.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// قم بتحميل ملف Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"Sample 1.docx");
// قم بإنشاء مثيل لفئة DocumentBuilder
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
// أضف تعليق
System::SharedPtr<Comment> comment = System::MakeObject<Comment>(doc, u"Aspose", u"AFFA", System::DateTime::get_Today());
builder->get_CurrentParagraph()->AppendChild(comment);
comment->get_Paragraphs()->Add(System::MakeObject<Paragraph>(doc));
comment->get_FirstParagraph()->get_Runs()->Add(System::MakeObject<Run>(doc, u"Comment text."));
// احفظ المستند.
doc->Save(outputDataDir + u"AddCommentsToExistingDoc.docx");
فيما يلي صورة الإخراج التي تم إنشاؤها بواسطة نموذج التعليمات البرمجية.
قراءة التعليقات من مستند Word
فيما يلي خطوات قراءة التعليقات من مستندات Word.
- قم بتحميل مستند Word باستخدام فئة Document.
- استرجع التعليقات باستخدام Document-> GetChildNodes (Aspose :: Words :: NodeType nodeType، bool isDeep).
- كرر من خلال التعليقات واسترجع معلومات التعليقات الفردية.
ما يلي هو نموذج التعليمات البرمجية لقراءة التعليقات من مستند Word باستخدام C ++.
// مسارات الدليل.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// قم بتحميل ملف Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// استرجاع التعليقات
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// حلقة من خلال جميع التعليقات
for (System::SharedPtr<Comment> comment : System::IterateOver<System::SharedPtr<Comment>>(comments))
{
// طباعة معلومات التعليق
std::cout << comment->get_Author() + u" " + comment->get_DateTime() + u" " + System::StaticCast<Node>(comment)->ToString(SaveFormat::Text);
}
تعديل التعليقات في مستند Word باستخدام C ++
لتعديل تعليق ، استرجعه باستخدام طريقة NodeCollection-> idxget (int32t index) وقم بتغييره وفقًا لاحتياجاتك. فيما يلي خطوات تعديل التعليقات في مستند Word.
- أولاً ، قم بتحميل مستند Word باستخدام فئة Document.
- استرجع التعليقات باستخدام Document-> GetChildNodes (Aspose :: Words :: NodeType nodeType، bool isDeep).
- احصل على التعليق المطلوب باستخدام طريقة NodeCollection-> idxget (فهرس int32t) ثم تحويل النتيجة إلى تعليق.
- قم بتحديث التعليق.
- أخيرًا ، احفظ المستند باستخدام طريقة Document-> Save (System :: String fileName).
يُظهر نموذج التعليمات البرمجية التالي كيفية تعديل التعليقات في مستند Word باستخدام C ++.
// مسارات الدليل.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// قم بتحميل ملف Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// استرجاع التعليقات
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// احصل على تعليق
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(0));
// تحديث نص التعليق
comment->SetText(u"Updated Text");
// احفظ المستند.
doc->Save(outputDataDir + u"UpdatedComment.docx");
حذف التعليقات من مستند Word باستخدام C ++
يوفر Aspose.Words for C ++ API طرقًا متعددة لحذف التعليقات من مستندات Word. في هذا القسم ، ستتعلم كيفية حذف تعليق معين وتعليقات المؤلف وجميع التعليقات باستخدام C ++.
حذف تعليق محدد
فيما يلي خطوات حذف تعليق معين.
- قم بتحميل مستند Word باستخدام فئة Document.
- استرجع التعليقات باستخدام Document-> GetChildNodes (Aspose :: Words :: NodeType nodeType، bool isDeep).
- احصل على التعليق الذي تريد حذفه باستخدام طريقة NodeCollection-> idxget (فهرس int32t) وإرسال النتيجة إلى تعليق.
- احذف التعليق باستخدام طريقة Comment-> Remove().
- احفظ المستند باستخدام طريقة Document-> Save (System :: String fileName).
يُظهر نموذج التعليمات البرمجية التالي كيفية حذف تعليق معين من مستند Word باستخدام C ++.
// مسارات الدليل.
System::String sourceDataDir = u"D:\\Work\\Aspose\\01_SourceDirectory\\";
System::String outputDataDir = u"D:\\Work\\Aspose\\02_OutputDirectory\\";
// قم بتحميل ملف Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// استرجاع التعليقات
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// احصل على تعليق
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(2));
// إزالة التعليق
comment->Remove();
// احفظ المستند.
doc->Save(outputDataDir + u"DeleteSpecificComments.docx");
حذف تعليقات المؤلف
فيما يلي خطوات حذف التعليقات من قبل المؤلف.
- أولاً ، قم بتحميل مستند Word باستخدام فئة Document.
- استرجع التعليقات باستخدام Document-> GetChildNodes (Aspose :: Words :: NodeType nodeType، bool isDeep).
- حلقة من خلال التعليقات.
- داخل الحلقة ، استرجع التعليق وقارن مؤلفه. إذا تطابق المؤلف ، فاحذف التعليق.
- أخيرًا ، احفظ المستند باستخدام طريقة Document-> Save (System :: String fileName).
فيما يلي نموذج التعليمات البرمجية لحذف التعليقات بواسطة المؤلف باستخدام C ++.
// مسارات الدليل.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// قم بتحميل ملف Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// استرجاع التعليقات
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// قم بتكرار جميع التعليقات وقم بإزالة تلك التي كتبها مؤلف "Aspose".
for (int32_t i = comments->get_Count() - 1; i >= 0; i--)
{
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(i));
if (comment->get_Author() == u"Aspose")
{
comment->Remove();
}
}
// احفظ المستند.
doc->Save(outputDataDir + u"DeleteCommentsByAuthor.docx");
حذف كافة التعليقات
بدلاً من حذف التعليقات الفردية ، يمكنك حذف جميع التعليقات مرة واحدة باستخدام طريقة NodeCollection-> Clear(). فيما يلي خطوات حذف جميع التعليقات من مستند Word.
- قم بتحميل مستند Word باستخدام فئة Document.
- استرجع التعليقات باستخدام Document-> GetChildNodes (Aspose :: Words :: NodeType nodeType، bool isDeep).
- قم بإزالة كافة التعليقات باستخدام طريقة NodeCollection-> Clear().
- أخيرًا ، احفظ المستند باستخدام الطريقة Document-> Save (System :: String fileName).
يوضح نموذج التعليمات البرمجية التالي كيفية حذف كافة التعليقات من مستند Word باستخدام C ++.
// مسارات الدليل.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// قم بتحميل ملف Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// استرجاع التعليقات
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// إزالة كافة التعليقات.
comments->Clear();
// احفظ المستند.
doc->Save(outputDataDir + u"DeleteAllComments.docx");
احصل على رخصة مجانية
يمكنك تجربة واجهة برمجة التطبيقات بدون قيود التقييم من خلال طلب ترخيص مؤقت مجاني.
استنتاج
في هذه المقالة ، تعلمت كيفية التعامل مع التعليقات في مستندات Word باستخدام C ++. على وجه التحديد ، لقد تعلمت كيفية إضافة التعليقات وقراءتها وتحريرها وحذفها. علاوة على ذلك ، لقد رأيت كيفية حذف تعليق معين وتعليقات المؤلف وجميع التعليقات باستخدام Aspose.Words for C ++ API. توفر واجهة برمجة التطبيقات عددًا كبيرًا من الميزات الإضافية لأتمتة المهام المتعلقة بـ Word. يمكنك استكشاف API بالتفصيل من خلال زيارة الوثائق الرسمية. في حالة وجود أي أسئلة ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.