Yorumlarla Çalışmak

Aspose.Words, kullanıcıların yorumlarla çalışmasına olanak tanır; Aspose.Words’teki bir belgedeki yorumlar Comment sınıfı tarafından temsil edilir. Ayrıca, bir yorumla ilişkilendirilmesi gereken metin bölgesini belirtmek için CommentRangeStart ve CommentRangeEnd sınıflarını da kullanın.

Yorum ekle

Aspose.Words, çeşitli şekillerde yorum eklemenizi sağlar:

  1. Comment sınıfını kullanma
  2. CommentRangeStart ve CommentRangeEnd sınıflarını kullanma

Aşağıdaki kod örneği, Comment sınıfını kullanarak bir paragrafa nasıl yorum ekleneceğini gösterir:

Aşağıdaki kod örneği, metnin bir bölgesini ve CommentRangeStart ve CommentRangeEnd sınıflarını kullanarak bir paragrafa nasıl yorum ekleneceğini gösterir:

Yorumları Çıkarın veya Kaldırın

Bir Word belgesinde Yorumları kullanmak (Değişiklikleri İzle’ye ek olarak), özellikle birden fazla inceleyen olduğunda belgeleri incelerken yaygın bir uygulamadır. Bir belgeden ihtiyacınız olan tek şeyin yorumlar olduğu durumlar olabilir. İnceleme bulgularının bir listesini oluşturmak istediğinizi veya belki de belgedeki tüm yararlı bilgileri topladığınızı ve yalnızca gereksiz yorumları kaldırmak istediğinizi varsayalım. Belirli bir inceleyenin yorumlarını görüntülemek veya kaldırmak isteyebilirsiniz.

Bu örnekte hem bir belgedeki yorumlardan bilgi toplamak hem de bir belgeden yorumları kaldırmak için bazı basit yöntemlere bakacağız. Özellikle aşağıdakilerin nasıl yapılacağını ele alacağız:

  • Bir belgedeki tüm yorumları veya yalnızca belirli bir yazar tarafından yapılan yorumları çıkarın.
  • Bir belgedeki veya yalnızca belirli bir yazara ait tüm yorumları kaldırın.

Yorumlar Nasıl Çıkarılır veya Kaldırılır

Bu örnekteki kod aslında oldukça basittir ve tüm yöntemler aynı yaklaşımı temel almaktadır. Bir Word belgesindeki bir yorum, Aspose.Words belgesi nesne modelinde bir Comment nesnesi tarafından temsil edilir. Bir belgedeki tüm yorumları toplamak için, ilk parametresi NodeType.COMMENT olarak ayarlanmış get_child_nodes yöntemini kullanın. get_child_nodes yönteminin ikinci parametresinin true olarak ayarlandığından emin olun: bu, get_child_nodes‘u yalnızca yakın alt düğümleri toplamak yerine yinelemeli olarak tüm alt düğümler arasından seçim yapmaya zorlar.

Bir belgeden yorumların nasıl çıkarılacağını ve kaldırılacağını göstermek için aşağıdaki adımları izleyeceğiz:

  1. Document sınıfını kullanarak bir Word belgesi açın
  2. Belgedeki tüm yorumları bir koleksiyona alın
  3. Yorumları çıkarmak için:
    1. foreach operatörünü kullanarak koleksiyona göz atın
    2. Tüm yorumların yazar adını, tarih ve saatini ve metnini çıkarın ve listeleyin
    3. Belirli bir yazar tarafından yazılan yazar adını, tarih ve saatini ve yorum metnini çıkarın ve listeleyin; bu durumda yazar ‘ks’
  4. Yorumları kaldırmak için:
    1. for operatörünü kullanarak koleksiyonda geriye doğru gidin
    2. Yorumları kaldırın
  5. Değişiklikleri kaydedin

Tüm Yorumlar Nasıl Çıkarılır

get_child_nodes yöntemi çok kullanışlıdır ve herhangi bir türdeki belge düğümlerinin bir listesini almanız gerektiğinde bunu kullanabilirsiniz. Ortaya çıkan koleksiyon anında bir ek yük oluşturmaz çünkü düğümler bu koleksiyona yalnızca siz numaralandırdığınızda veya içindeki öğelere eriştiğinizde seçilir.

Aşağıdaki kod örneği, belgedeki tüm yorumların yazar adının, tarih&saatinin ve metninin nasıl çıkarılacağını gösterir:

Belirli Bir Yazarın Yorumları Nasıl Çıkarılır

Comment düğümlerini bir koleksiyona seçtikten sonra tek yapmanız gereken ihtiyacınız olan bilgiyi çıkarmaktır. Bu örnekte yazarın adının baş harfleri, tarih, saat ve yorumun düz metni tek bir dizede birleştirilmiştir; bunun yerine başka şekillerde saklamayı seçebilirsiniz.

Belirli bir yazardan Yorumları çıkaran aşırı yüklenmiş yöntem hemen hemen aynıdır; yalnızca bilgiyi diziye eklemeden önce yazarın adını kontrol eder.

Aşağıdaki kod örneği, belirtilen yazara göre yazar adının, tarih&saatinin ve yorum metninin nasıl çıkarılacağını gösterir:

Yorumlar Nasıl Kaldırılır

Tüm yorumları kaldırıyorsanız, yorumları tek tek silerek koleksiyonda ilerlemenize gerek yoktur; yorum koleksiyonundan clear‘i arayarak bunları kaldırabilirsiniz.

Aşağıdaki kod örneği, belgedeki tüm yorumların nasıl kaldırılacağını gösterir:

Yorumları seçerek kaldırmanız gerektiğinde süreç, yorum çıkarmak için kullandığımız koda daha çok benzer hale gelir.

Aşağıdaki kod örneği, belirtilen yazarın yorumlarının nasıl kaldırılacağını gösterir:

Burada vurgulanması gereken asıl nokta for operatörünün kullanılmasıdır. Basit çıkarma işleminin aksine, burada bir yorumu silmek istiyorsunuz. Uygun bir yöntem, koleksiyonu son Comment‘ten ilkine doğru geriye doğru yinelemektir. Bunun nedeni, eğer sondan başlayıp geriye doğru giderseniz, önceki öğelerin dizini değişmeden kalır ve koleksiyondaki ilk öğeye geri dönebilirsiniz.

Aşağıdaki kod örneği, yorumların çıkarılması ve kaldırılmasına yönelik yöntemleri gösterir:

CommentRangeStart ve CommentRangeEnd Arasındaki Yorum Nasıl Kaldırılır

Aspose.Words’i kullanarak CommentRangeStart ve CommentRangeEnd düğümleri arasındaki yorumları da kaldırabilirsiniz.

Aşağıdaki kod örneği, CommentRangeStart ile CommentRangeEnd arasındaki metnin nasıl kaldırılacağını gösterir:

# Open the document.
doc = aw.Document(docs_base.my_dir + "Comments.docx")

commentStart = doc.get_child(aw.NodeType.COMMENT_RANGE_START, 0, True).as_comment_range_start()
commentEnd = doc.get_child(aw.NodeType.COMMENT_RANGE_END, 0, True).as_comment_range_end()

currentNode = commentStart
isRemoving = True
while (currentNode != None and isRemoving) :
    if (currentNode.node_type == aw.NodeType.COMMENT_RANGE_END) :
        isRemoving = False

    nextNode = currentNode.next_pre_order(doc)
    currentNode.remove()
    currentNode = nextNode

# Save the document.
doc.save(docs_base.artifacts_dir + "WorkingWithComments.remove_region_text.docx")

Yorumun Yanıtını Ekle veya Kaldır

add_reply yöntemi bu yoruma bir yanıt ekler. Mevcut Microsoft Office sınırlamaları nedeniyle belgede yalnızca 1 düzeyde yanıta izin verildiğini lütfen unutmayın. Bu yöntem mevcut Yanıt yorumunda çağrılırsa InvalidOperationException türünde bir istisna ortaya çıkar.

Bu yoruma verilen yanıtı kaldırmak için remove_reply yöntemini kullanabilirsiniz.

Aşağıdaki kod örneği, yoruma yanıtın nasıl ekleneceğini ve yorumun yanıtının nasıl kaldırılacağını gösterir:

Yorumun Yanıtını Oku

replies özelliği, belirtilen yorumun doğrudan alt öğeleri olan Comment nesnelerinin bir koleksiyonunu döndürür.

Aşağıdaki kod örneği, bir yorumun yanıtlarının nasıl yineleneceğini ve bunların nasıl çözüleceğini gösterir: