Kako formatirati tekst u .NET-u

Kako formatirati tekst u .NET-u

Aspose.Slides FOSS za .NET pruža detaljno formatiranje teksta putem klase PortionFormat. Portion je najmanja nezavisna jedinica teksta; ona odgovara jednom formatu unutar pasusa. Ovaj vodič pokazuje kako primeniti podebljano, kurziv, veličinu fonta i formatiranje boje na tekst u prezentaciji.

Vodič korak po korak

Korak 1: Instalirajte paket

dotnet add package Aspose.Slides.Foss

Korak 2: Dodajte oblik sa tekstualnim okvirom

Pre formatiranja teksta, oblik mora da sadrži TextFrame. Koristite shape.AddTextFrame() da biste ga kreirali.

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);

Korak 3: Pristup TextFrame‑u

shape.AddTextFrame() vraća TextFrame objekat. Takođe ga možete preuzeti kasnije putem shape.TextFrame.

var tf = shape.TextFrame;          // if the frame already exists
var tf = shape.AddTextFrame("");   // creates a new frame

Jedan TextFrame sadrži listu Paragraph objekata (tf.Paragraphs).
Svaki Paragraph sadrži Portion objekata (paragraph.Portions).


Korak 4: Primeni podebljano i kurzivno formatiranje

Koristite PortionFormat.FontBold i PortionFormat.FontItalic. Ova svojstva prihvataju NullableBool.True, NullableBool.False ili NullableBool.NotDefined (nasleđuju od mastera).

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);

Korak 5: Postavite veličinu i boju fonta

Postavite PortionFormat.FontHeight za veličinu (u tačkama) i koristite FillFormat za boju.

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) prihvata vrednosti 0-255 za svaki kanal.


Korak 6: Više delova u jednom odlomku

Jedan odlomak može da sadrži više delova sa različitim formatiranjem. Dodajte novi Portion u kolekciju Portions odlomka:

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);

Uobičajeni problemi i popravke

Tekst se pojavljuje crno iako je boja postavljena

Uverite se da je FillFormat.FillType = FillType.Solid postavljen pre dodele boje. Bez postavljanja tipa popunjavanja, promena boje možda neće imati efekta.

NullableBool.True vs true

PortionFormat.FontBold očekuje NullableBool.True, a ne C# true. Dodeljivanje C# true neće se kompajlirati jer su tipovi nekompatibilni.

Font se ne pojavljuje u sačuvanoj datoteci

Svojstvo LatinFont postavlja latinsku porodicu fontova. Ako nije postavljeno, koristi se font teme prezentacije. Prilagođeni fontovi moraju biti ugrađeni ili dostupni na računaru za pregled.


Često postavljana pitanja

Kako da promenim porodicu fonta?

Postavi PortionFormat.LatinFont:

fmt.LatinFont = new FontData("Arial");

FontData prihvata naziv porodice fonta kao string.

Kako da postavim poravnanje odlomka?

Koristite ParagraphFormat.Alignment:

tf.Paragraphs[0].ParagraphFormat.Alignment = TextAlignment.Center;

Podržane vrednosti: Left, Center, Right, Justify.

Kako da podesim razmak između redova?

Koristite ParagraphFormat.SpaceBefore (tačke pre pasusa) ili ParagraphFormat.SpaceAfter (tačke posle pasusa):

tf.Paragraphs[0].ParagraphFormat.SpaceBefore = 12;   // 12pt before
tf.Paragraphs[0].ParagraphFormat.SpaceAfter = 6;     // 6pt after

Види такође

 Српски