Microsoft Word, Word belgelerine yorum ekleyebilmenizi sağlar. Yorumlar, belgelerde iyileştirmeler önermek veya metinle ilgili düşünceleri paylaşmak gibi durumlarda yardımcı olabilir. Yorumları programlı olarak yönetmeniz gereken durumlar olabilir. Bu amaçla, bu makale size C++ kullanarak Word belgelerindeki yorumlarla nasıl çalışacağınızı öğretecektir.
- Word Belgelerinde Yorumlarla Çalışmak için C++ API
- C++ kullanarak Word Belgelerine Açıklamalar Ekleyin
- Bir Word Belgesinden Yorumları Oku
- C++ kullanarak bir Word Belgesindeki Yorumları Değiştirme
- C++ kullanarak bir Word Belgesinden Yorumları Silme
Word Belgelerinde Yorumlarla Çalışmak için C++ API
Aspose.Words for C++, Microsoft Word belgeleri oluşturmanıza, okumanıza, değiştirmenize ve dönüştürmenize olanak sağlayan yerel bir C++ kitaplığıdır. Ayrıca DOCX ve DOC dosyalarındaki yorumlarla çalışmayı da destekler. API’yi NuGet aracılığıyla yükleyebilir veya doğrudan İndirilenler bölümünden indirebilirsiniz.
PM> Install-Package Aspose.Words.Cpp
C++ kullanarak Word Belgelerine Açıklamalar Ekleyin
Aspose.Words for C++ API, yazar adı, baş harfleri ve tarih/saat ile yorum ekleme yeteneği sağlar. Aşağıda, Word belgelerine yorum ekleme adımları yer almaktadır.
- İlk olarak, Document sınıfını kullanarak Word belgesini yükleyin.
- Önceki adımda oluşturulan Document nesnesini geçirerek DocumentBuilder sınıfının bir örneğini oluşturun.
- Comment sınıfını kullanarak yorumu oluşturun.
- DocumentBuilder->getCurrentParagraph()->AppendChild(System::SharedPtr) kullanarak belgeye yorumu ekleyin.Aspose::Words::Node newChild) yöntemi.
- Son olarak, Document->Save(System::String fileName) yöntemini kullanarak belgeyi kaydedin.
Aşağıdaki örnek kod, C++ kullanarak Word belgelerine nasıl yorum ekleneceğini gösterir.
// Dizin yolları.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Word dosyasını yükleyin
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"Sample 1.docx");
// DocumentBuilder sınıfının bir örneğini oluşturun
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
// Yorum ekle
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."));
// Belgeyi kaydedin.
doc->Save(outputDataDir + u"AddCommentsToExistingDoc.docx");
Örnek kod tarafından oluşturulan çıktının görüntüsü aşağıdadır.
Bir Word Belgesinden Yorumları Oku
Aşağıda, Word belgelerinden yorumları okumak için izlenecek adımlar yer almaktadır.
- Belge sınıfını kullanarak Word belgesini yükleyin.
- Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep) yöntemini kullanarak yorumları alın.
- Yorumları yineleyin ve tek tek yorumların bilgilerini alın.
C++ kullanarak bir Word belgesindeki yorumları okumak için örnek kod aşağıdadır.
// Dizin yolları.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Word dosyasını yükleyin
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Yorumları al
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// Tüm yorumlar arasında dolaş
for (System::SharedPtr<Comment> comment : System::IterateOver<System::SharedPtr<Comment>>(comments))
{
// Yorum bilgilerini yazdır
std::cout << comment->get_Author() + u" " + comment->get_DateTime() + u" " + System::StaticCast<Node>(comment)->ToString(SaveFormat::Text);
}
C++ kullanarak bir Word Belgesindeki Yorumları Değiştirme
Bir yorumu değiştirmek için NodeCollection->idxget(int32t index) yöntemini kullanarak onu alın ve ihtiyaçlarınıza göre değiştirin. Aşağıda, bir Word belgesindeki yorumları değiştirme adımları yer almaktadır.
- İlk olarak, Belge sınıfını kullanarak Word belgesini yükleyin.
- Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep) yöntemini kullanarak yorumları alın.
- NodeCollection->idxget(int32t index) yöntemini kullanarak ve sonucu Comment’e aktararak istenen yorumu alın.
- Yorumu güncelleyin.
- Son olarak, Document->Save(System::String fileName) yöntemini kullanarak belgeyi kaydedin.
Aşağıdaki örnek kod, C++ kullanarak bir Word belgesindeki yorumların nasıl değiştirileceğini gösterir.
// Dizin yolları.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Word dosyasını yükleyin
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Yorumları al
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// yorum al
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(0));
// Yorum metnini güncelle
comment->SetText(u"Updated Text");
// Belgeyi kaydedin.
doc->Save(outputDataDir + u"UpdatedComment.docx");
C++ kullanarak bir Word Belgesinden Yorumları Silme
Aspose.Words for C++ API, Word belgelerinden yorumların silinmesi için birçok yol sağlar. Bu bölümde, C++ kullanarak belirli bir yorumu, yazara göre yorumları ve tüm yorumları nasıl sileceğinizi öğreneceksiniz.
Belirli Bir Yorumu Sil
Belirli bir yorumu silme adımları aşağıdadır.
- Belge sınıfını kullanarak Word belgesini yükleyin.
- Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep) yöntemini kullanarak yorumları alın.
- Silmek istediğiniz yorumu NodeCollection->idxget(int32t index) yöntemini kullanarak alın ve sonucu Comment’e aktarın.
- Comment->Remove() yöntemini kullanarak yorumu silin.
- Document->Save(System::String fileName) yöntemini kullanarak belgeyi kaydedin.
Aşağıdaki örnek kod, C++ kullanılarak bir Word belgesinden belirli bir yorumun nasıl silineceğini gösterir.
// Dizin yolları.
System::String sourceDataDir = u"D:\\Work\\Aspose\\01_SourceDirectory\\";
System::String outputDataDir = u"D:\\Work\\Aspose\\02_OutputDirectory\\";
// Word dosyasını yükleyin
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Yorumları al
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// yorum al
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(2));
// Yorumu kaldır
comment->Remove();
// Belgeyi kaydedin.
doc->Save(outputDataDir + u"DeleteSpecificComments.docx");
Yazarın Yorumlarını Silme
Yazara göre yorumları silme adımları aşağıdadır.
- İlk olarak, Belge sınıfını kullanarak Word belgesini yükleyin.
- Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep) yöntemini kullanarak yorumları alın.
- Yorumlar arasında dolaşın.
- Döngü içinde yorumu alın ve yazarını karşılaştırın. Yazar eşleşirse yorumu silin.
- Son olarak, Document->Save(System::String fileName) yöntemini kullanarak belgeyi kaydedin.
C++ kullanarak yazarın yorumlarını silmek için örnek kod aşağıdadır.
// Dizin yolları.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Word dosyasını yükleyin
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Yorumları al
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// Tüm yorumlar arasında dolaşın ve "Aspose" yazarı tarafından yazılanları kaldırın.
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();
}
}
// Belgeyi kaydedin.
doc->Save(outputDataDir + u"DeleteCommentsByAuthor.docx");
Tüm Yorumları Sil
Tek tek yorumları silmek yerine, NodeCollection->Clear() yöntemini kullanarak tüm yorumları bir kerede silebilirsiniz. Aşağıda, bir Word belgesindeki tüm yorumları silme adımları yer almaktadır.
- Belge sınıfını kullanarak Word belgesini yükleyin.
- Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep) yöntemini kullanarak yorumları alın.
- NodeCollection->Clear() yöntemini kullanarak tüm yorumları kaldırın.
- Son olarak, Document->Save(System::String fileName) yöntemini kullanarak belgeyi kaydedin.
Aşağıdaki örnek kod, C++ kullanarak bir Word belgesindeki tüm açıklamaların nasıl silineceğini gösterir.
// Dizin yolları.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Word dosyasını yükleyin
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Yorumları al
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// Tüm yorumları kaldırın.
comments->Clear();
// Belgeyi kaydedin.
doc->Save(outputDataDir + u"DeleteAllComments.docx");
Ücretsiz Lisans Alın
Ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmadan deneyebilirsiniz.
Çözüm
Bu makalede, C++ kullanarak Word belgelerindeki yorumlarla nasıl çalışacağınızı öğrendiniz. Özellikle, yorumları nasıl ekleyeceğinizi, okuyacağınızı, düzenleyeceğinizi ve sileceğinizi öğrendiniz. Ayrıca, Aspose.Words for C++ API kullanarak belirli bir yorumu, yazara göre yorumları ve tüm yorumları nasıl sileceğinizi gördünüz. API, Word ile ilgili görevlerinizi otomatikleştirmek için çok sayıda ek özellik sağlar. Resmi belgeleri ziyaret ederek API’yi ayrıntılı olarak inceleyebilirsiniz. Herhangi bir sorunuz olursa lütfen ücretsiz destek forumumuzdan bize ulaşmaktan çekinmeyin.