.NET'te Metin Biçimlendirme
Aspose.Slides FOSS for .NET, PortionFormat sınıfı aracılığıyla ayrıntılı metin biçimlendirme sağlar. Bir Portion, metnin en küçük bağımsız birimidir; bir paragraftaki tek bir biçimlendirme çalışmasına karşılık gelir. Bu kılavuz, bir sunumdaki metne kalın, italik, yazı tipi boyutu ve renk biçimlendirmesinin nasıl uygulanacağını gösterir.
Adım Adım Kılavuz
Adım 1: Paketi Yükleyin
dotnet add package Aspose.Slides.FossAdım 2: Metin Çerçevesi Olan Bir Şekil Ekle
Metni biçimlendirmeden önce, bir şekil TextFrame içermelidir. Bir tane oluşturmak için shape.AddTextFrame() kullanın.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 500, 150);
var tf = shape.AddTextFrame("Default text: will be formatted");
prs.Save("output.pptx", SaveFormat.Pptx);Adım 3: TextFrame’e Erişin
shape.AddTextFrame(), TextFrame nesnesini döndürür. Ayrıca, shape.TextFrame aracılığıyla daha sonra da alabilirsiniz.
var tf = shape.TextFrame; // if the frame already exists
var tf = shape.AddTextFrame(""); // creates a new frameBir TextFrame, Paragraph nesnelerinin bir listesini içerir (tf.Paragraphs). Her Paragraph, Portion nesnelerini içerir (paragraph.Portions).
Adım 4: Kalın ve İtalik Biçimlendirme Uygula
PortionFormat.FontBold ve PortionFormat.FontItalic kullanın. Bu özellikler NullableBool.True, NullableBool.False veya NullableBool.NotDefined (ana şablondan miras alır) kabul eder.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 500, 150);
var tf = shape.AddTextFrame("Bold and italic text");
var fmt = tf.Paragraphs[0].Portions[0].PortionFormat;
fmt.FontBold = NullableBool.True;
fmt.FontItalic = NullableBool.True;
prs.Save("bold-italic.pptx", SaveFormat.Pptx);Adım 5: Yazı Tipi Boyutunu ve Rengini Ayarla
PortionFormat.FontHeight‘yi boyut (puan cinsinden) için ayarlayın ve FillFormat‘yi renk için kullanın.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 500, 150);
var tf = shape.AddTextFrame("Large corporate-blue heading");
var fmt = tf.Paragraphs[0].Portions[0].PortionFormat;
fmt.FontHeight = 32; // 32pt font
fmt.FontBold = NullableBool.True;
fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 0, 70, 127);
prs.Save("colored-text.pptx", SaveFormat.Pptx);Color.FromArgb(alpha, red, green, blue) her kanal için 0-255 değerlerini kabul eder.
Adım 6: Tek Paragrafta Birden Çok Bölüm
Tek bir paragraf, farklı biçimlendirmelere sahip birden fazla bölüm içerebilir. Bir paragrafın Portions koleksiyonuna yeni bir Portion ekleyin:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 600, 100);
var tf = shape.AddTextFrame(""); // start with empty frame
var paragraph = tf.Paragraphs[0];
// First portion: normal text
var portion1 = paragraph.Portions[0];
portion1.Text = "Normal text followed by ";
portion1.PortionFormat.FontHeight = 20;
// Second portion: bold red text
var portion2 = new Portion();
portion2.Text = "bold red text";
portion2.PortionFormat.FontHeight = 20;
portion2.PortionFormat.FontBold = NullableBool.True;
portion2.PortionFormat.FillFormat.FillType = FillType.Solid;
portion2.PortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 200, 0, 0);
paragraph.Portions.Add(portion2);
prs.Save("mixed-format.pptx", SaveFormat.Pptx);Yaygın Sorunlar ve Çözümler
Metin rengi ayarlandıktan sonra bile siyah görünüyor
Rengi atamadan önce FillFormat.FillType = FillType.Solid ayarlandığından emin olun. Doldurma türü ayarlanmadan, renk değişikliği etkisiz kalabilir.
NullableBool.True vs true
PortionFormat.FontBold, C# true yerine NullableBool.True bekler. C# true atamak, türler uyumsuz olduğu için derlenmez.
Kaydedilen dosyada yazı tipi görünmüyor
LatinFont özelliği Latin yazı tipi ailesini ayarlar. Ayarlanmamışsa, sunum teması yazı tipi kullanılır. Özel yazı tipleri gömülmüş olmalı veya görüntüleme makinesinde mevcut olmalıdır.
Sıkça Sorulan Sorular
Yazı tipi ailesini nasıl değiştiririm?
Ayarla PortionFormat.LatinFont:
fmt.LatinFont = new FontData("Arial");FontData font ailesi adını bir dize olarak kabul eder.
Paragraf hizalamasını nasıl ayarlarım?
Kullan ParagraphFormat.Alignment:
tf.Paragraphs[0].ParagraphFormat.Alignment = TextAlignment.Center;Desteklenen değerler: Left, Center, Right, Justify.
Satır aralığını nasıl ayarlarım?
ParagraphFormat.SpaceBefore (paragraftan önceki puanlar) veya ParagraphFormat.SpaceAfter (paragraftan sonraki puanlar) kullanın:
tf.Paragraphs[0].ParagraphFormat.SpaceBefore = 12; // 12pt before
tf.Paragraphs[0].ParagraphFormat.SpaceAfter = 6; // 6pt after