Metinle Çalışma

Metinle Çalışma

Word belgesindeki metin, Run düğümleri (aynı yazı tipi biçimlendirmesini paylaşan ardışık karakterler) içinde Paragraph düğümleri olarak gruplandırılır. Aspose.Words FOSS for .NET her ikisini doğrudan sunar, ayrıca karakter biçimlendirmesi için Font, paragraf düzeyinde biçimlendirme için ParagraphFormat ve ağacın herhangi bir kısmında metni okuma veya değiştirme için Range. Bu kılavuz, koşu ve yazı tipleri, paragraf biçimlendirme, metni okuma ve değiştirme, yorumlar ve paragraf düzeyinde liste biçimlendirmesini kapsar.


Koşular ve Karakter Biçimlendirme

A Run, aynı biçimlendirme kümesini paylaşan bir metin aralığını temsil eder; Text özelliği düz metin içeriğini tutar ve Font özelliği (bir Font nesnesi) karakter düzeyinde biçimlendirmeyi tutar — Name, Size, Bold, Italic, Underline, Color, HighlightColor, Subscript/Superscript, StrikeThrough ve daha fazlası. Font.ClearFormatting(), bir koşunun yazı tipini varsayılanlara sıfırlar. Bir paragrafın koşuları, onun Runs özelliği aracılığıyla, bir RunCollection aracılığıyla erişilebilir.


Paragraflar ve Paragraf Biçimlendirme

Paragraph, bir paragrafın koşularını (ve diğer satır içi içerikleri) içeren birleşik bir düğümdür; bir belgenin veya gövdenin paragrafları, bir ParagraphCollection (Body.Paragraphs) olarak ortaya çıkar. Paragraph.ParagraphFormat (bir ParagraphFormat nesnesi) paragraf düzeyindeki düzeni kontrol eder — Alignment, girintiler (LeftIndent, RightIndent, FirstLineIndent), boşluklar (SpaceBefore, SpaceAfter, LineSpacing, LineSpacingRule) ve sayfalama davranışı (KeepTogether, KeepWithNext, PageBreakBefore, WidowControl). ParagraphFormat.ClearFormatting(), bunları varsayılanlara sıfırlar ve Paragraph.JoinRunsWithSameFormatting(), aynı biçimlendirmeye sahip yan yana koşuları birleştirir.


Aralık Kullanarak Metni Okuma ve Değiştirme

İçerik içeren her düğüm — bir Document, Section, Paragraph veya Run — bir Range ortaya çıkar. Range.Text, o aralıktaki her şeyin düz metnini döndürür ve Range.Replace(pattern, replacement), sadece o aralığa sınırlı bir bul ve değiştir işlemi gerçekleştirir; böylece örneğin, belgenin geri kalanını etkilemeden tek bir paragraftaki metni değiştirebilirsiniz. Range.Delete() aralığın içeriğini tamamen kaldırır.


Comments

Bir Comment düğümü, bir yorumu metindeki bir konuma bağlar; bir tanesini new Comment(doc, author, initial, dateTime) ile oluşturun ve gövde metnini SetText(text) ile ayarlayın, ardından belgeye diğer düğümler gibi ekleyin. Comment.AddReply(author, initial, dateTime, text) bir zincirli yanıt ekler ve RemoveReply(reply) / RemoveAllReplies() bunları kaldırır. Bir belgenin yorumları bir CommentCollection içinde toplanır.


Paragraf Düzeyinde Liste Biçimlendirme

Paragraph.ListFormat (bir ListFormat nesnesi) bir paragrafın bir listenin parçası olup olmadığını rapor eder ve kontrol eder: IsListItem ve ListLevelNumber mevcut durumunu rapor eder, ApplyBulletDefault() ve ApplyNumberDefault() paragrafı varsayılan bir madde işareti ya da numaralı liste öğesine dönüştürür, ListIndent() / ListOutdent() liste iç içeleme seviyesini değiştirir ve RemoveNumbers() tekrar normal bir paragrafa dönüştürür.


İpuçları ve En İyi Uygulamalar

  • Metni oluşturucu ile yazmadan önce DocumentBuilder.Font üzerindeki yazı tipi özelliklerini ayarlayın; metni önce yazıp ardından bireysel Run nesnelerini yeniden biçimlendirmek yerine.
  • Range.Replace işlevini, gerçekten değiştirmek istediğiniz şeyi kapsayan en küçük aralığa sınırlayın — değişiklik tüm belgeye uygulanmaması gerektiğinde, tüm belge yerine bir Paragraph veya Section‘nin aralığı üzerinde çağırın.
  • Programatik düzenlemelerden sonra Paragraph.JoinRunsWithSameFormatting() çağırın, böylece gereksiz şekilde parçalanmış bir run yapısı oluşmaz.
  • Yerleşik varsayılanlar yeterli olduğunda, liste tanımlarını elle oluşturmak yerine hızlı bir varsayılan liste için ListFormat.ApplyBulletDefault() / ApplyNumberDefault() kullanın.
  • Comment.AddReply sonuçlarını doğrudan Comment düğümleri olarak okuyun — yanıtlar tam yorum nesneleridir, düz stringler değildir.

Yaygın Sorunlar

SorunNedenDüzeltme
Bir Run‘ın Font‘ını biçimlendirmek, yan metni görsel olarak değiştirmezYan metin, kendi Font örneğine sahip farklı bir Run içinde bulunurEtkilenen her Run‘ı bulun ve biçimlendirin, ya da yazmadan önce DocumentBuilder.Font aracılığıyla biçimlendirmeyi ayarlayın
Range.Replace hedeflenen alanın dışındaki metni değiştirirReplace, daha dar bir düğümün aralığı yerine Document.Range üzerinde çağrıldıReplace işlevini belirli Paragraph, Section veya diğer düğümün Range üzerinde çağırın
Bir paragraf bir liste öğesi gibi görünüyor ancak IsListItem yanlış.Madde işareti/sayı manuel metindir, gerçek liste biçimlendirmesi değildir.Yazılan karakterler yerine ListFormat.ApplyBulletDefault() veya ApplyNumberDefault() ile gerçek liste biçimlendirmesi uygulayın.
Belge beklenenden çok daha fazla Run düğümüne sahip.Tekrarlanan küçük düzenlemeler, run’ları birleştirmeden ayırır.Düzenleme gruplarından sonra Paragraph.JoinRunsWithSameFormatting() çağırın.

FAQ

Run ile Paragraph arasındaki fark nedir?

Run, bir karakter biçimlendirme kümesini (Font) paylaşan bir metin aralığıdır; Paragraph ise bir veya daha fazla koşu (ve diğer satır içi içerik) ile paragraf düzeyinde biçimlendirme (ParagraphFormat) içeren birleşik düğümdür.

Bir belge ya da bölümdeki tüm metni nasıl okuyabilirim?

Text özelliğini, o düğümün Range özelliği üzerinden okuyun — örneğin, document.Range.Text veya section.Range.Text.

Sadece bir paragrafta metni nasıl bulup değiştiririm?

Document.Range üzerinde çağırmak yerine, o Paragraph‘in Range‘si üzerinde Replace(pattern, replacement)‘yi çağırın.

Bir belgeye yorum nasıl eklerim?

new Comment(doc, author, initial, dateTime) ile oluşturun, metnini SetText(text) ile ayarlayın ve ağaca ekleyin; ona Comment.AddReply(author, initial, dateTime, text) ile yanıt verin.

Bir paragrafı madde işaretli liste öğesine nasıl dönüştürürüm?

O paragrafın ListFormat‘i üzerinde ApplyBulletDefault()‘yi çağırın; numaralı bir liste için bunun yerine ApplyNumberDefault()‘yi kullanın.


API Reference Özeti

Sınıf/YöntemAçıklama
RunBir karakter biçimlendirme setini paylaşan bir metin aralığı.
FontKarakter düzeyinde biçimlendirme — ad, boyut, kalın, italik, renk ve daha fazlası.
ParagraphBir paragrafın koşularını ve biçimlendirmesini içeren birleşik düğüm.
ParagraphFormatParagraf düzeyinde biçimlendirme — hizalama, girintiler, boşluk, sayfalama.
ParagraphCollectionTiplenmiş Paragraph düğümlerinin koleksiyonu, ör. Body.Paragraphs.
RangeBelgenin bitişik bir bölgesi; Text, Replace ve Delete desteklenir.
CommentMetindeki bir konuma sabitlenmiş bir dizili yorum.
CommentCollectionBelgenin yorum koleksiyonu.
ListFormatBir paragrafın bir listede yer alıp almayacağını ve nasıl yer alacağını kontrol eder.

Ayrıca Bakınız

 Türkçe