Biçimlendirmeyi Uygula

Bir tablonun her öğesi farklı biçimlendirmeyle uygulanabilir. Örneğin, tablo biçimlendirmesi tablonun tamamına, satır biçimlendirmesi yalnızca belirli satırlara, hücre biçimlendirmesi yalnızca belirli hücrelere uygulanacaktır.

Aspose.Words, bir tabloya biçimlendirme almak ve uygulamak için zengin bir API sağlar. Biçimlendirmeyi ayarlamak için Table, RowFormat ve CellFormat düğümlerini kullanabilirsiniz.

Bu yazımızda farklı tablo düğümlerine formatlamanın nasıl uygulanacağından ve Aspose.Words’in hangi tablo formatlama ayarlarını desteklediğinden bahsedeceğiz.

Farklı Düğümlere Biçimlendirme Uygula

Bu bölümde formatın çeşitli tablo düğümlerine uygulanmasına bakacağız.

Tablo Düzeyinde Biçimlendirme

Bir tabloya biçimlendirme uygulamak için Table, PreferredWidth ve TableCollection sınıflarını kullanarak karşılık gelen Table düğümünde bulunan özellikleri kullanabilirsiniz.

Aşağıdaki resimler Microsoft Word’deki Table biçimlendirme özelliklerinin ve Aspose.Words’deki bunlara karşılık gelen özelliklerin bir temsilini göstermektedir.

formattin-features-table-level-aspose-words-python

formatting-table-options-aspose-words-python

Aşağıdaki kod örneği, bir tabloya anahat kenarlığının nasıl uygulanacağını gösterir:

Aşağıdaki kod örneği, tüm kenarlıkları etkinleştirilmiş (ızgara) bir tablonun nasıl oluşturulacağını gösterir:

Satır Düzeyinde Biçimlendirme

Satır düzeyinde biçimlendirmesi Row, RowFormat ve RowCollection sınıfları kullanılarak kontrol edilebilir.

Aşağıdaki resimler Microsoft Word’deki Row biçimlendirme özelliklerinin ve Aspose.Words’deki bunlara karşılık gelen özelliklerin bir temsilini göstermektedir.

formatting-row-level-aspose-words-python

Aşağıdaki kod örneği, tablo satırı biçimlendirmesinin nasıl değiştirileceğini gösterir:

Hücre Düzeyinde Biçimlendirme

Hücre düzeyinde biçimlendirme Cell, CellFormat ve CellCollection sınıfları tarafından kontrol edilir.

Aşağıdaki resimler Microsoft Word’deki Cell biçimlendirme özelliklerinin ve Aspose.Words’deki bunlara karşılık gelen özelliklerin bir temsilini göstermektedir.

formatting-cell-level-aspose-words-python

auto-formatting-cell-level-aspose-words-python

Aşağıdaki kod örneği, bir tablo hücresinin biçimlendirmesinin nasıl değiştirileceğini gösterir:

Aşağıdaki kod örneği, hücre içeriğinin sol/üst/sağ/alt kısmına eklenecek alan miktarının (nokta cinsinden) nasıl ayarlanacağını gösterir:

Satır Yüksekliklerini Belirtin

Satır yüksekliğini ayarlamanın en basit yolu DocumentBuilder‘i kullanmaktır. Uygun RowFormat özelliklerini kullanarak varsayılan yükseklik ayarını yapabilir veya tablodaki her satır için farklı bir yükseklik uygulayabilirsiniz.

Aspose.Words’te tablo satır yüksekliği şu şekilde kontrol edilir:

  • satır yüksekliği özelliği – Height
  • verilen satır için yükseklik kuralı özelliği – HeightRule

Aynı zamanda her sıra için farklı bir yükseklik ayarlanabilir; bu, masa ayarlarını geniş ölçüde kontrol etmenize olanak tanır.

Aşağıdaki kod örneği, tek hücre içeren bir tablonun nasıl oluşturulacağını ve satır biçimlendirmesinin nasıl uygulanacağını gösterir:

Tablo ve Hücre Genişliklerini Belirleme

Microsoft Word belgesindeki bir tablo, tabloyu ve tek tek hücreleri yeniden boyutlandırmak için birkaç farklı yol sunar. Bu özellikler, tablonun görünümü ve davranışı üzerinde önemli ölçüde kontrol sağlar; böylece Aspose.Words, Microsoft Word’te olduğu gibi tabloların davranışını destekler.

Tablo öğelerinin, tek tek hücrelerin yanı sıra genel tablonun genişliklerinin nasıl hesaplanacağını etkileyebilecek birkaç farklı özellik sunduğunu bilmek önemlidir:

  • Masada tercih edilen genişlik
  • Bireysel hücrelerde tercih edilen genişlik
  • Masaya otomatik sığdırmaya izin verilmesi

Bu makalede, çeşitli tablo genişliği hesaplama özelliklerinin nasıl çalıştığı ve tablo genişliği hesaplaması üzerinde tam kontrolün nasıl elde edileceği ayrıntılarıyla anlatılmaktadır. Bu tablo düzeninin beklendiği gibi görünmediği durumlarda bunu bilmek özellikle yararlıdır.

Tercih Edilen Genişlik Nasıl Kullanılır

Bir tablonun veya tek tek hücrelerin istenen genişliği, bir öğenin sığdırmaya çalıştığı boyut olan tercih edilen genişlik özelliği aracılığıyla tanımlanır. Yani tercih edilen genişlik tablonun tamamı veya tek tek hücreler için belirtilebilir. Bazı durumlarda bu genişliği tam olarak sığdırmak mümkün olmayabilir ancak çoğu durumda gerçek genişlik bu değere yakın olacaktır.

Uygun tercih edilen genişlik türü ve değeri, PreferredWidth sınıfının yöntemleri kullanılarak ayarlanır:

  • otomatik veya “tercih edilen genişlik yok” seçeneğini belirtmek için Auto yöntemi
  • yüzde genişliğini belirtmek için FromPercent yöntemi
  • nokta cinsinden genişliği belirtmek için FromPoints yöntemi

Aşağıdaki resimler Microsoft Word’teki tercih edilen genişlik ayarı özelliklerinin ve Aspose.Words’deki karşılık gelen özelliklerinin bir temsilini göstermektedir.

formatting-table-properties-aspose-words-python

Bu seçeneklerin bir belgedeki gerçek tabloya nasıl uygulandığına dair bir örnek aşağıdaki resimde görülebilir.

tables-applying-options-python

Tercih Edilen Tabloyu veya Hücre Genişliğini Belirtin

Aspose.Words’te tablo ve hücre genişlikleri, PreferredWidthType numaralandırmasında mevcut seçeneklerle birlikte Table.PreferredWidth özelliği ve CellFormat.PreferredWidth özelliği kullanılarak ayarlanır:

  • Tercih edilen genişlik ayarının olmaması durumuna eşdeğer olan Auto
  • Öğeyi penceredeki veya kapsayıcı boyutundaki kullanılabilir alana göre sığdıran ve mevcut genişlik değiştiğinde değeri yeniden hesaplayan Percent
  • Nokta cinsinden belirtilen genişliğe sahip bir öğeye karşılık gelen Points

Table.PreferredWidth özelliğinin kullanılması, kapsayıcısına göre tercih edilen genişliği ayarlayacaktır: sayfa, metin sütunu veya iç içe geçmiş bir tablo ise dış tablo hücresi.

Aşağıdaki kod örneği, tablonun sayfa genişliğinin %50’sine otomatik sığacak şekilde nasıl ayarlanacağını gösterir:

Belirli bir hücrede CellFormat.PreferredWidth özelliğinin kullanılması tercih edilen genişliği ayarlayacaktır.

Aşağıdaki kod örneği, tercih edilen farklı genişlik ayarlarının nasıl ayarlanacağını gösterir:

Tercih Edilen Genişlik Türünü ve Değerini Bulma

İstediğiniz tablo veya hücrenin tercih edilen genişlik ayrıntılarını bulmak için Type ve Value özelliklerini kullanabilirsiniz.

Aşağıdaki kod örneği, bir tablo hücresinin tercih edilen genişlik türünün nasıl alınacağını gösterir:

Otomatik Uyum Nasıl Ayarlanır

AllowAutoFit özelliği, tablodaki hücrelerin seçilen kritere göre büyüyüp küçülmesine olanak tanır. Örneğin tabloyu sayfa genişliğine sığdırmak için Pencereye Otomatik Sığdır seçeneğini, her hücrenin içeriğine göre büyüyüp küçülmesini sağlamak için İçeriğe Otomatik Sığdır seçeneğini kullanabilirsiniz.

Aspose.Words, varsayılan olarak Pencereye Otomatik Sığdır‘yi kullanarak yeni bir tablo ekler. Tablo mevcut sayfa genişliğine göre boyutlandırılacaktır. Bir tabloyu yeniden boyutlandırmak için AutoFit yöntemini çağırabilirsiniz. Bu yöntem, tabloya hangi otomatik sığdırma türünün uygulandığını belirten bir AutoFitBehavior numaralandırmasını kabul eder.

Otomatik sığdırma yönteminin aslında tabloya farklı özellikleri aynı anda uygulayan bir kısayol olduğunu bilmek önemlidir. Bunlar aslında tabloya gözlemlenen davranışı veren özelliklerdir. Her otomatik uyum seçeneği için bu özellikleri tartışacağız.

Aşağıdaki kod örneği, her hücreyi içeriğine göre küçültmek veya büyütmek için bir tablonun nasıl ayarlanacağını gösterir:

Tabloyu Pencereye Otomatik Sığdır

Bir pencereye otomatik sığdırma bir tabloya uygulandığında, aslında perde arkasında aşağıdaki işlemler gerçekleştirilir:

  1. Table.AllowAutoFit özelliği, %100’lük bir Table.PreferredWidth değeri kullanarak sütunları mevcut içeriğe uyacak şekilde otomatik olarak yeniden boyutlandıracak şekilde etkinleştirildi
  2. CellFormat.PreferredWidth tüm tablo hücrelerinden kaldırıldı
  3. Mevcut tablo içeriği için sütun genişlikleri yeniden hesaplanır; sonuçta mevcut genişliğin tamamını kaplayan bir tablo elde edilir
  4. Kullanıcı metni düzenledikçe tablodaki sütunların genişliği otomatik olarak değişir

Aşağıdaki kod örneği, bir tablonun sayfa genişliğine nasıl otomatik olarak sığdırılacağını gösterir:

Tabloyu İçeriğe Otomatik Sığdır

Tablo içeriğe otomatik olarak sığdırıldığında, aslında perde arkasında aşağıdaki adımlar gerçekleştirilir:

  1. Table.AllowAutoFit özelliği, her hücreyi içeriğine göre otomatik olarak yeniden boyutlandırmak için etkinleştirildi

  2. Tercih edilen tablo genişliği Table.PreferredWidth‘ten kaldırılır, her tablo hücresi için CellFormat.PreferredWidth kaldırılır

  3. Sütun genişlikleri mevcut tablo içeriği için yeniden hesaplanır; sonuçta, kullanıcı metni düzenledikçe sütun genişliklerinin ve tüm tablonun genişliğinin içeriğe en iyi uyacak şekilde otomatik olarak yeniden boyutlandırıldığı bir tablo elde edilir

Aşağıdaki kod örneği, bir tablonun içeriğine nasıl otomatik olarak sığdırılacağını gösterir:

Tabloda Otomatik Sığdırmayı Devre Dışı Bırakın ve Sabit Sütun Genişliklerini Kullanın

Bir tabloda otomatik sığdırma devre dışıysa ve bunun yerine sabit sütun genişlikleri kullanılıyorsa aşağıdaki adımlar gerçekleştirilir:

  1. Table.AllowAutoFit özelliği devre dışı bırakıldı, böylece sütunlar içeriklerine göre büyüyüp küçülmüyor
  2. Tüm tablonun tercih edilen genişliği Table.PreferredWidth‘ten kaldırılır, CellFormat.PreferredWidth tüm tablo hücrelerinden kaldırılır
  3. Sonuç, sütun genişlikleri CellFormat.Width özelliği tarafından belirlenen ve kullanıcı metin girdiğinde veya sayfa yeniden boyutlandırıldığında sütunları otomatik olarak yeniden boyutlandırılmayan bir tablodur

Aşağıdaki kod örneği, belirtilen tablo için otomatik sığdırmanın nasıl devre dışı bırakılacağını ve sabit genişliğin nasıl etkinleştirileceğini gösterir:

Hücre Genişliğini Hesaplarken Öncelik Sırası

Aspose.Words, kullanıcıların bir tablonun veya hücrenin genişliğini CellFormat de dahil olmak üzere birden fazla nesne aracılığıyla tanımlamasına olanak tanır; Width özelliği çoğunlukla önceki sürümlerden kalmıştır, ancak yine de hücre genişliğini ayarlamayı basitleştirmek için kullanışlıdır.

CellFormat.Width özelliğinin, tabloda zaten mevcut olan diğer genişlik özelliklerine bağlı olarak farklı şekilde çalıştığını bilmek önemlidir.

Aspose.Words, hücre genişliklerini hesaplamak için aşağıdaki sırayı kullanır:

Emir Mülk Tanım
1 AllowAutoFit belirlendi AutoFit etkinse:
- tablo, içeriğe uyum sağlamak için tercih edilen genişliği aşacak şekilde büyüyebilir; genellikle tercih edilen genişliğin altına küçülmez
- CellFormat.Width değerindeki herhangi bir değişiklik göz ardı edilir ve hücre bunun yerine içeriğine sığar
2 Points veya Percent değerine sahip PreferredWidthType CellFormat.Width göz ardı ediliyor
3 Auto değerine sahip PreferredWidthType CellFormat.Width‘teki değer kopyalanır ve hücrenin tercih edilen genişliği (nokta olarak) olur

Hücreler Arasındaki Boşluğa İzin Ver

Microsoft Word’teki “Hücre aralığı” seçeneğine benzer şekilde tablo hücreleri arasında herhangi bir ek boşluk alabilir veya ayarlayabilirsiniz. Bu, AllowCellSpacing özelliği kullanılarak yapılabilir.

Bu seçeneklerin bir belgedeki gerçek tabloya nasıl uygulandığına dair bir örnek aşağıdaki resimde görülebilir.

biçimlendirme-hücreler arası temeller-aspose-words-python

Aşağıdaki kod örneği, hücreler arasındaki boşluğun nasıl ayarlanacağını gösterir:

Kenarlık ve Gölgelendirme Uygulamak

Kenarlıklar ve gölgeleme, Table.SetBorder, Table.SetBorders ve Table.SetShading kullanılarak tablonun tamamına veya CellFormat.Borders ve CellFormat.Shading kullanılarak yalnızca belirli hücrelere uygulanabilir. Ayrıca satır sınırları RowFormat.Borders kullanılarak ayarlanabilir ancak gölgelendirme bu şekilde uygulanamaz.

Aşağıdaki resimler Microsoft Word’teki kenarlık ve gölge ayarlarını ve Aspose.Words’deki bunlara karşılık gelen özellikleri göstermektedir.

formatting-border-line-aspose-words-python

formatting-cell-color-aspose-words-python

Aşağıdaki kod örneği, bir tablonun ve hücrenin farklı kenarlıklar ve gölgelerle nasıl biçimlendirileceğini gösterir: