Microsoft Word zapewnia możliwość dodawania komentarzy do dokumentów Word. Komentarze mogą być pomocne w takich przypadkach, jak sugerowanie ulepszeń w dokumentach lub dzielenie się przemyśleniami na temat tekstu. Mogą zaistnieć sytuacje, w których konieczne będzie programowe zarządzanie komentarzami. W tym celu w tym artykule dowiesz się, jak pracować z komentarzami w dokumentach programu Word przy użyciu języka C++.
- Interfejs API języka C++ do pracy z komentarzami w dokumentach programu Word
- Dodawaj komentarze do dokumentów programu Word przy użyciu języka C++
- Czytaj komentarze z dokumentu programu Word
- Modyfikuj komentarze w dokumencie programu Word za pomocą języka C++
- Usuń komentarze z dokumentu programu Word za pomocą C++
Interfejs API języka C++ do pracy z komentarzami w dokumentach programu Word
Aspose.Words for C++ to natywna biblioteka C++, która pozwala tworzyć, czytać, modyfikować i konwertować dokumenty Microsoft Word. Ponadto obsługuje również pracę z komentarzami w plikach DOCX i DOC. Możesz zainstalować API przez NuGet lub pobrać bezpośrednio z sekcji Downloads.
PM> Install-Package Aspose.Words.Cpp
Dodawaj komentarze do dokumentów programu Word przy użyciu języka C++
Aspose.Words for C++ API zapewnia możliwość dodawania komentarzy z nazwiskiem autora, inicjałami oraz datą/godziną. Poniżej przedstawiono kroki dodawania komentarzy do dokumentów programu Word.
- Najpierw załaduj dokument programu Word, używając klasy Document.
- Utwórz instancję klasy DocumentBuilder, przekazując obiekt Document utworzony w poprzednim kroku.
- Utwórz komentarz za pomocą klasy Comment.
- Dodaj komentarz do dokumentu za pomocą DocumentBuilder->getCurrentParagraph()->AppendChild(System::SharedPtrAspose::Words::Node noweDziecko) metoda.
- Na koniec zapisz dokument za pomocą metody Document->Save(System::String fileName).
Poniższy przykładowy kod ilustruje sposób dodawania komentarzy do dokumentów programu Word przy użyciu języka C++.
// Ścieżki katalogów.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Załaduj plik Worda
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"Sample 1.docx");
// Utwórz instancję klasy DocumentBuilder
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
// Dodaj komentarz
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."));
// Zapisz dokument.
doc->Save(outputDataDir + u"AddCommentsToExistingDoc.docx");
Poniżej przedstawiono obraz danych wyjściowych wygenerowanych przez przykładowy kod.
Czytaj komentarze z dokumentu programu Word
Poniżej przedstawiono kroki, aby przeczytać komentarze z dokumentów programu Word.
- Załaduj dokument programu Word, używając klasy Document.
- Pobierz komentarze za pomocą metody Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep).
- Przejrzyj komentarze i pobierz informacje o poszczególnych komentarzach.
Poniżej przedstawiono przykładowy kod do odczytywania komentarzy z dokumentu programu Word przy użyciu języka C++.
// Ścieżki katalogów.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Załaduj plik Worda
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Pobierz komentarze
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// Przejrzyj wszystkie komentarze
for (System::SharedPtr<Comment> comment : System::IterateOver<System::SharedPtr<Comment>>(comments))
{
// Wydrukuj informacje o komentarzu
std::cout << comment->get_Author() + u" " + comment->get_DateTime() + u" " + System::StaticCast<Node>(comment)->ToString(SaveFormat::Text);
}
Modyfikuj komentarze w dokumencie programu Word za pomocą C++
Aby zmodyfikować komentarz, pobierz go metodą NodeCollection->idxget(int32t index) i zmień go zgodnie z potrzebami. Poniżej przedstawiono kroki modyfikowania komentarzy w dokumencie programu Word.
- Najpierw załaduj dokument programu Word przy użyciu klasy Document.
- Pobierz komentarze za pomocą metody Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep).
- Uzyskaj żądany komentarz za pomocą metody NodeCollection->idxget(int32t index) i rzutując wynik na Comment.
- Zaktualizuj komentarz.
- Na koniec zapisz dokument za pomocą metody Document->Save(System::String fileName).
Poniższy przykładowy kod pokazuje, jak modyfikować komentarze w dokumencie programu Word przy użyciu języka C++.
// Ścieżki katalogów.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Załaduj plik Worda
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Pobierz komentarze
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// Uzyskaj komentarz
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(0));
// Zaktualizuj tekst komentarza
comment->SetText(u"Updated Text");
// Zapisz dokument.
doc->Save(outputDataDir + u"UpdatedComment.docx");
Usuń komentarze z dokumentu programu Word za pomocą C++
Aspose.Words for C++ API zapewnia wiele sposobów usuwania komentarzy z dokumentów programu Word. W tej sekcji dowiesz się, jak usunąć określony komentarz, komentarze autora i wszystkie komentarze za pomocą C++.
Usuń określony komentarz
Poniżej przedstawiono kroki, aby usunąć określony komentarz.
- Załaduj dokument programu Word, używając klasy Document.
- Pobierz komentarze za pomocą metody Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep).
- Pobierz komentarz, który chcesz usunąć, używając metody NodeCollection->idxget(int32t index) i rzutując wynik na Comment.
- Usuń komentarz metodą Comment->Remove().
- Zapisz dokument za pomocą metody Document->Save(System::String fileName).
Poniższy przykładowy kod pokazuje, jak usunąć określony komentarz z dokumentu programu Word przy użyciu języka C++.
// Ścieżki katalogów.
System::String sourceDataDir = u"D:\\Work\\Aspose\\01_SourceDirectory\\";
System::String outputDataDir = u"D:\\Work\\Aspose\\02_OutputDirectory\\";
// Załaduj plik Worda
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Pobierz komentarze
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// Uzyskaj komentarz
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(2));
// Usuń komentarz
comment->Remove();
// Zapisz dokument.
doc->Save(outputDataDir + u"DeleteSpecificComments.docx");
Usuwanie komentarzy według autora
Poniżej przedstawiono kroki usuwania komentarzy według autora.
- Najpierw załaduj dokument programu Word przy użyciu klasy Document.
- Pobierz komentarze za pomocą metody Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep).
- Przejrzyj komentarze.
- W pętli pobierz komentarz i porównaj jego autora. Jeśli autor się zgadza, usuń komentarz.
- Na koniec zapisz dokument za pomocą metody Document->Save(System::String fileName).
Poniżej znajduje się przykładowy kod służący do usuwania komentarzy według autora przy użyciu języka C++.
// Ścieżki katalogów.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Załaduj plik Worda
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Pobierz komentarze
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// Przejrzyj wszystkie komentarze i usuń te napisane przez autora „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();
}
}
// Zapisz dokument.
doc->Save(outputDataDir + u"DeleteCommentsByAuthor.docx");
Usuń wszystkie komentarze
Zamiast usuwać pojedyncze komentarze, możesz usunąć wszystkie komentarze naraz za pomocą metody NodeCollection->Clear(). Poniżej przedstawiono kroki, aby usunąć wszystkie komentarze z dokumentu programu Word.
- Załaduj dokument programu Word, używając klasy Document.
- Pobierz komentarze za pomocą metody Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep).
- Usuń wszystkie komentarze za pomocą metody NodeCollection->Clear().
- Na koniec zapisz dokument za pomocą metody Document->Save(System::String fileName).
Poniższy przykładowy kod ilustruje sposób usuwania wszystkich komentarzy z dokumentu programu Word przy użyciu języka C++.
// Ścieżki katalogów.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Załaduj plik Worda
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Pobierz komentarze
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// Usuń wszystkie komentarze.
comments->Clear();
// Zapisz dokument.
doc->Save(outputDataDir + u"DeleteAllComments.docx");
Uzyskaj bezpłatną licencję
Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się, jak pracować z komentarzami w dokumentach programu Word przy użyciu języka C++. W szczególności nauczyłeś się dodawać, czytać, edytować i usuwać komentarze. Ponadto widziałeś, jak usunąć określony komentarz, komentarze autora i wszystkie komentarze za pomocą Aspose.Words for C++ API. Interfejs API zapewnia ogromną liczbę dodatkowych funkcji do automatyzacji zadań związanych z programem Word. Możesz szczegółowo zapoznać się z interfejsem API, odwiedzając oficjalną dokumentację. W przypadku jakichkolwiek pytań prosimy o kontakt na naszym bezpłatnym forum pomocy technicznej.