مایکروسافت ورد این امکان را به شما می دهد که به اسناد ورد نظر اضافه کنید. نظرات می توانند در مواردی مانند پیشنهاد بهبود در اسناد یا به اشتراک گذاشتن افکار در مورد متن مفید باشند. ممکن است شرایطی وجود داشته باشد که لازم باشد نظرات را به صورت برنامه‌ریزی مدیریت کنید. برای این منظور، این مقاله به شما یاد می دهد که چگونه با استفاده از C++ با نظرات در اسناد Word کار کنید.

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 را با استفاده از 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 با استفاده از 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 را با استفاده از 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 را با استفاده از 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");

حذف نظرات نویسنده

در زیر مراحل حذف نظرات نویسنده آمده است.

کد زیر نمونه ای برای حذف نظرات نویسنده با استفاده از 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 را با استفاده از 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 را با جزئیات بررسی کنید. در صورت وجود هرگونه سوال، لطفاً با ما در تالار گفتمان پشتیبانی رایگان تماس بگیرید.

همچنین ببینید