Metni .NET içinde Nasıl Biçimlendiririz
Aspose.Slides FOSS for .NET provides fine-grained text formatting through the PortionFormat sınıf. A Portion metnin en küçük bağımsız birimidir; bir paragrafta tek bir biçimlendirme çalışmasına karşılık gelir. Bu kılavuz, bir sunumda 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 Ekleyin
Metni biçimlendirmeden önce, bir şekil bir TextFrame. Kullan shape.AddTextFrame() bir tane oluşturmak için.
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() şunu döndürür TextFrame nesneyi. Ayrıca daha sonra şunun aracılığıyla alabilirsiniz shape.TextFrame.
var tf = shape.TextFrame; // if the frame already exists
var tf = shape.AddTextFrame(""); // creates a new frameA TextFrame bir liste içerir Paragraph nesneleri (tf.Paragraphs). Her Paragraph içerir Portion nesneler (paragraph.Portions).
Adım 4: Kalın ve İtalik Biçimlendirmeyi Uygulayın
Kullan PortionFormat.FontBold ve PortionFormat.FontItalic. Bu özellikler kabul eder NullableBool.True, NullableBool.False, veya NullableBool.NotDefined (ana şablondan miras al).
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 Ayarlayın
Ayarla PortionFormat.FontHeight boyut için (puan cinsinden) ve kullan FillFormat renk için.
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 Bir Paragrafta Birden Çok Bölüm
Tek bir paragraf, farklı biçimlendirmeye sahip birden çok bölüm içerebilir. Yeni bir Portion paragrafın Portions koleksiyon:
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
Renk ayarlandıktan sonra bile metin siyah görünüyor
Emin olun FillFormat.FillType = FillType.Solid renk atanmasından önce ayarlanmalıdır. Doldurma türü ayarlanmadan, renk değişikliği etkisiz kalabilir.
NullableBool.True vs true
PortionFormat.FontBold bekler NullableBool.True, C# değil true. C# atamak true tipler uyumsuz olduğu için derlenemez.
Kaydedilen dosyada yazı tipi görünmüyor.
Bu LatinFont özellik Latin yazı tipi ailesini ayarlar. Ayarlanmazsa, 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 Sorulan Sorular
Yazı tipi ailesini nasıl değiştiririm?
Ayarla PortionFormat.LatinFont:
fmt.LatinFont = new FontData("Arial");FontData yazı tipi 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?
Kullan ParagraphFormat.SpaceBefore (paragraftan önce noktalar) veya ParagraphFormat.SpaceAfter (paragraftan sonraki puanlar):
tf.Paragraphs[0].ParagraphFormat.SpaceBefore = 12; // 12pt before
tf.Paragraphs[0].ParagraphFormat.SpaceAfter = 6; // 6pt after