Kako formatirati tekst u .NET
Aspose.Slides FOSS for .NET provides fine-grained text formatting through the PortionFormat klasa. A Portion je najmanja neovisna jedinica teksta; ona se mapira na jedan formatiranje 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.FossKorak 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: Pristupite TextFrameu
shape.AddTextFrame() vraća TextFrame objekt. 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 frameA TextFrame sadrži popis Paragraph objekata (tf.Paragraphs). Svaki Paragraph sadrži Portion objekata (paragraph.Portions).
Korak 4: Primijenite podebljano i kurziv formatiranje
Upotrijebite PortionFormat.FontBold i PortionFormat.FontItalic. Ova svojstva prihvaćaju NullableBool.True, NullableBool.False, ili NullableBool.NotDefined (naslijedi od master).
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 fonta i boju
Postavi PortionFormat.FontHeight za veličinu (u točkama) i upotrijebi 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) prima vrijednosti 0-255 za svaki kanal.
Korak 6: Više odjeljaka u jednom odlomku
Jedan odlomak može sadržavati više dijelova s različitim formatiranjem. Dodajte novi Portion u odlomak Portions zbirku:
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 ostaje crn iako je boja postavljena
Osigurajte FillFormat.FillType = FillType.Solid je postavljeno prije dodjele boje. Bez postavljanja vrste ispune, promjena boje možda neće imati učinka.
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
The LatinFont svojstvo 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 prima 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