Microsoft Word מספקת לך את היכולת להוסיף הערות למסמכי Word. הערות יכולות להיות מועילות במקרים כמו הצעת שיפורים במסמכים או שיתוף מחשבות על הטקסט. ייתכנו מצבים שבהם עליך לנהל הערות באופן תוכנתי. לשם כך, מאמר זה ילמד אותך כיצד לעבוד עם הערות במסמכי Word באמצעות C++.
- C++ API לעבודה עם הערות במסמכי Word
- הוסף הערות למסמכי Word באמצעות C++
- קרא הערות ממסמך 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
הוסף הערות למסמכי Word באמצעות C++
Aspose.Words for C++ API מספק את היכולת להוסיף הערות עם שם המחבר, ראשי התיבות ותאריך/שעה. להלן השלבים להוספת הערות למסמכי Word.
- ראשית, טען את מסמך Word באמצעות המחלקה Document.
- צור מופע של המחלקה DocumentBuilder על ידי העברת האובייקט Document שנוצר בשלב הקודם.
- צור את ההערה באמצעות הכיתה Comment.
- הוסף את ההערה למסמך באמצעות 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 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++
ה-API של Aspose.Words for C++ מספק דרכים מרובות למחיקת הערות ממסמכי 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);
// עיין בלולאה בכל ההערות והסר את אלו שנכתבו על ידי מחבר "אספוס".
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 ללא מגבלות הערכה על ידי בקשת [רישיון זמני בחינם].34
סיכום
במאמר זה, למדת כיצד לעבוד עם הערות במסמכי Word באמצעות C++. באופן ספציפי, למדת כיצד להוסיף, לקרוא, לערוך ולמחוק הערות. יתר על כן, ראית כיצד למחוק הערה ספציפית, הערות של מחבר וכל ההערות באמצעות Aspose.Words for C++ API. ה-API מספק מספר עצום של תכונות נוספות לאוטומציה של המשימות הקשורות ל-Word. אתה יכול לחקור את ה-API בפירוט על ידי ביקור בתיעוד הרשמי. בכל שאלה, אנא אל תהסס לפנות אלינו בפורום התמיכה החינמי שלנו.