Tablo Formatını 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.
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.
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.
Cell‘in yalnızca Row‘nin alt düğümü olabileceğini unutmayın. Aynı zamanda Cell‘te formatlamanın uygulanabilmesi için en az bir Paragraph bulunması gerekir.
Paragraph‘e ek olarak Cell‘e Table de ekleyebilirsiniz.
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.
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 Belirleyin
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.
Çoğu durumda masa genişliğinden ziyade tercih edilen hücre önerilir. Tercih edilen hücre genişliği, Aspose.Words modelinin yanı sıra DOCX formatı spesifikasyonuna da daha uygundur.
Hücre genişliği aslında DOCX formatı için hesaplanmış bir değerdir. Gerçek hücre genişliği birçok şeye bağlı olabilir. Örneğin, sayfa kenar boşluklarının veya tercih edilen tablo genişliğinin değiştirilmesi, gerçek hücre genişliğini etkileyebilir.
Tercih edilen hücre genişliği, belgede saklanan bir hücre özelliğidir. Hiçbir şeye bağlı değildir ve tabloyu veya hücrenin diğer özelliklerini değiştirdiğinizde değişmez.
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ği 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.
Bu seçeneklerin bir belgedeki gerçek tabloya nasıl uygulandığına dair bir örnek aşağıdaki resimde görülebilir.
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 Bulun
İ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 sayfanın 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.
Varsayılan olarak Aspose.Words, 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:
- 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
- CellFormat.PreferredWidth tüm tablo hücrelerinden kaldırıldı
Bunun, her hücrenin tercih edilen genişliğinin, mevcut boyutuna ve içeriğine göre uygun değerlere ayarlandığı Microsoft Word davranışından biraz farklı olduğunu unutmayın. Aspose.Words tercih edilen genişliği güncellemez, bunun yerine sadece temizlenirler.
- Mevcut tablo içeriği için sütun genişlikleri yeniden hesaplanır; sonuç, mevcut genişliğin tamamını kaplayan bir tablodur
- 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
Tabloya içerik otomatik olarak sığdırıldığında, aslında perde arkasında aşağıdaki adımlar gerçekleştirilir:
-
Table.AllowAutoFit özelliği, her hücreyi içeriğine göre otomatik olarak yeniden boyutlandırmak için etkinleştirilir
-
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
Bu otomatik sığdırma seçeneğinin, tıpkı Microsoft Word’te olduğu gibi, hücrelerden tercih edilen genişliği kaldırdığını unutmayın. Sütun boyutlarını korumak ve içeriğe sığacak şekilde sütunları artırmak veya azaltmak istiyorsanız, otomatik sığdırma kısayolunu kullanmak yerine Table.AllowAutoFit özelliğini kendi başına True olarak ayarlamalısınız. -
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:
-
Table.AllowAutoFit özelliği devre dışı bırakıldı, böylece sütunlar içeriklerine göre büyüyüp küçülmüyor
-
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
-
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 halihazırda 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.
Aşağıdaki kod örneği, hücreler arasındaki boşluğun nasıl ayarlanacağını gösterir:
Kenarlıkları ve Gölgelendirmeyi Uygulayın
Kenarlıklar ve gölgelendirme, 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.
Aşağıdaki kod örneği, bir tablonun ve hücrenin farklı kenarlıklar ve gölgelerle nasıl biçimlendirileceğini gösterir: