Kako formatirati tekst u .NET-u

Kako formatirati tekst u .NET-u

Aspose.Slides FOSS for .NET pruža detaljno formatiranje teksta putem klase PortionFormat. Portion je najmanja samostalna jedinica teksta; ona odgovara jednom formatu unutar odlomka. Ovaj vodič pokazuje kako primijeniti podebljano, kurziv, veličinu fonta i boju formatiranja na tekst u prezentaciji.

Vodič korak po korak

Korak 1: Instalirajte paket

dotnet add package Aspose.Slides.Foss

Korak 2: Dodajte oblik s tekstualnim okvirom

Prije formatiranja teksta, oblik mora sadržavati TextFrame. Upotrijebite shape.AddTextFrame() za stvaranje jednog.

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 TextFrameu

shape.AddTextFrame() vraća objekt TextFrame. Također ga možete dohvatiti kasnije putem shape.TextFrame.

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

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


Korak 4: Primijeni podebljano i kurzivno oblikovanje

Koristite PortionFormat.FontBold i PortionFormat.FontItalic. Ova svojstva prihvaćaju NullableBool.True, NullableBool.False ili NullableBool.NotDefined (nasljeđ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: Postavi veličinu fonta i boju

Postavite PortionFormat.FontHeight za veličinu (u točkama) i upotrijebite 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) prihvaća vrijednosti 0‑255 za svaki kanal.


Korak 6: Više dijelova u jednom odlomku

Jedan odlomak može sadržavati više dijelova s 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 rješenja

Tekst se pojavljuje crno čak i nakon postavljanja boje

Provjerite je li FillFormat.FillType = FillType.Solid postavljen prije dodjele boje. Bez postavljanja vrste ispune, promjena boje možda neće imati učinak.

NullableBool.True vs true

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

Font se ne pojavljuje u spremljenoj datoteci

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


Često postavljana pitanja

Kako promijeniti obitelj fonta?

Postavi PortionFormat.LatinFont:

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

FontData prihvaća naziv obitelji fonta kao string.

Kako postaviti poravnanje odlomka?

Koristite ParagraphFormat.Alignment:

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

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

Kako postaviti razmak između redaka?

Koristite ParagraphFormat.SpaceBefore (točke prije odlomka) ili ParagraphFormat.SpaceAfter (točke nakon odlomka):

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

Vidi također

 Hrvatski