مایکروسافت ورد این امکان را به شما می دهد که به اسناد ورد نظر اضافه کنید. نظرات می توانند در مواردی مانند پیشنهاد بهبود در اسناد یا به اشتراک گذاشتن افکار در مورد متن مفید باشند. ممکن است شرایطی وجود داشته باشد که لازم باشد نظرات را به صورت برنامهریزی مدیریت کنید. برای این منظور، این مقاله به شما یاد می دهد که چگونه با استفاده از C++ با نظرات در اسناد Word کار کنید.
- C++ API برای کار با نظرات در اسناد Word
- با استفاده از C++ نظرات را به اسناد Word اضافه کنید
- نظرات یک سند Word را بخوانید
- نظرات را در یک سند Word با استفاده از C++ تغییر دهید
- حذف نظرات از یک سند Word با استفاده از C++
C++ API برای کار با نظرات در اسناد Word
Aspose.Words for C++ یک کتابخانه بومی C++ است که به شما امکان می دهد اسناد Microsoft Word را ایجاد، بخوانید، تغییر دهید و تبدیل کنید. علاوه بر این، از کار با نظرات در فایلهای DOCX و DOC نیز پشتیبانی میکند. میتوانید API را از طریق NuGet نصب کنید یا آن را مستقیماً از بخش دانلودها دانلود کنید.
PM> Install-Package Aspose.Words.Cpp
با استفاده از C++ نظرات را به اسناد Word اضافه کنید
Aspose.Words for C++ API امکان افزودن نظرات با نام نویسنده، حروف اول و تاریخ/زمان را فراهم می کند. مراحل زیر برای افزودن نظرات به اسناد Word است.
- ابتدا سند Word را با استفاده از کلاس Document بارگذاری کنید.
- یک نمونه از کلاس DocumentBuilder را با عبور از شیء Document ایجاد شده در مرحله قبل ایجاد کنید.
- نظر را با استفاده از کلاس Comment ایجاد کنید.
- با استفاده از DocumentBuilder->getCurrentParagraph()->AppendChild(System::SharedPtr نظر را به سند اضافه کنیدAspose::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 index) دریافت کنید و نتیجه را به Comment ارسال کنید.
- نظر را به روز کنید.
- در نهایت، سند را با استفاده از روش 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 index) دریافت کنید و نتیجه را به Comment ارسال کنید.
- نظر را با استفاده از روش 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");
مجوز رایگان دریافت کنید
با درخواست [مجوز موقت رایگان] میتوانید API را بدون محدودیت ارزیابی امتحان کنید.
نتیجه
در این مقاله نحوه کار با نظرات در اسناد Word با استفاده از C++ را یاد گرفتید. به طور خاص، شما یاد گرفته اید که چگونه نظرات را اضافه کنید، بخوانید، ویرایش کنید و حذف کنید. علاوه بر این، نحوه حذف یک نظر خاص، نظرات نویسنده و همه نظرات را با استفاده از Aspose.Words for C++ API مشاهده کردهاید. API تعداد زیادی ویژگی اضافی را برای خودکارسازی وظایف مرتبط با Word شما فراهم می کند. میتوانید با مراجعه به مستندات رسمی API را با جزئیات بررسی کنید. در صورت وجود هرگونه سوال، لطفاً با ما در تالار گفتمان پشتیبانی رایگان تماس بگیرید.