Microsoft Word מספקת לך את היכולת להוסיף הערות למסמכי Word. הערות יכולות להיות מועילות במקרים כמו הצעת שיפורים במסמכים או שיתוף מחשבות על הטקסט. ייתכנו מצבים שבהם עליך לנהל הערות באופן תוכנתי. לשם כך, מאמר זה ילמד אותך כיצד לעבוד עם הערות במסמכי Word באמצעות C++.

C++ API לעבודה עם הערות במסמכי 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 באמצעות 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++

ה-API של Aspose.Words for C++ מספק דרכים מרובות למחיקת הערות ממסמכי 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);

// עיין בלולאה בכל ההערות והסר את אלו שנכתבו על ידי מחבר "אספוס".
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 ללא מגבלות הערכה על ידי בקשת [רישיון זמני בחינם].34

סיכום

במאמר זה, למדת כיצד לעבוד עם הערות במסמכי Word באמצעות C++. באופן ספציפי, למדת כיצד להוסיף, לקרוא, לערוך ולמחוק הערות. יתר על כן, ראית כיצד למחוק הערה ספציפית, הערות של מחבר וכל ההערות באמצעות Aspose.Words for C++ API. ה-API מספק מספר עצום של תכונות נוספות לאוטומציה של המשימות הקשורות ל-Word. אתה יכול לחקור את ה-API בפירוט על ידי ביקור בתיעוד הרשמי. בכל שאלה, אנא אל תהסס לפנות אלינו בפורום התמיכה החינמי שלנו.

ראה גם