Kaip formatuoti tekstą .NET
Aspose.Slides FOSS for .NET provides fine-grained text formatting through the PortionFormat klasė. A Portion yra mažiausia nepriklausoma teksto vienetas; jis atitinka vieną formatavimo seką pastraipoje. Ši vadovas rodo, kaip pritaikyti bold, italic, font size ir color formatavimą tekstui pristatyme.
Žingsnis po žingsnio vadovas
Žingsnis 1: Įdiekite paketą
dotnet add package Aspose.Slides.FossŽingsnis 2: Pridėkite formą su teksto rėmeliu
Prieš formatuojant tekstą, forma turi turėti TextFrame. Naudokite shape.AddTextFrame() sukurti vieną.
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);Žingsnis 3: Pasiekite TextFrame
shape.AddTextFrame() grąžina TextFrame objektą. Taip pat galite jį vėliau gauti per shape.TextFrame.
var tf = shape.TextFrame; // if the frame already exists
var tf = shape.AddTextFrame(""); // creates a new frameA TextFrame turi sąrašą Paragraph objektų (tf.Paragraphs). Kiekvienas Paragraph turi Portion objektų (paragraph.Portions).
Žingsnis 4: Pridėkite pusjuodį ir kursyvo formatavimą
Naudokite PortionFormat.FontBold ir PortionFormat.FontItalic. Šios savybės priima NullableBool.True, NullableBool.False, arba NullableBool.NotDefined (paveldėti iš 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);Žingsnis 5: Nustatykite šrifto dydį ir spalvą
Nustatyti PortionFormat.FontHeight dydžiui (taškais) ir naudoti FillFormat spalvai.
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) priima reikšmes 0-255 kiekvienam kanalui.
Žingsnis 6: Keli Portion vienoje pastraipoje
Vienas pastraipa gali turėti kelias dalis su skirtingu formatavimu. Pridėkite naują Portion į pastraipos Portions kolekciją:
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);Dažnos problemos ir sprendimai
Tekstas lieka juodas net po spalvos nustatymo
Įsitikinkite FillFormat.FillType = FillType.Solid yra nustatytas prieš priskiriant spalvą. Nustatant užpildymo tipą, spalvos pakeitimas gali neturėti jokio poveikio.
NullableBool.True prieš true
PortionFormat.FontBold tikisi NullableBool.True, ne C# true. Priskiriant C# true nebus kompiliuojama, nes tipai nesuderinami.
Šriftas neatsiranda įrašytame faile
Ši LatinFont savybė nustato lotynišką šriftų šeimą. Jei nenustatyta, naudojamas pristatymo temos šriftas. Pasirinktiniai šriftai turi būti įterpti arba prieinami peržiūros įrenginyje.
Dažnai užduodami klausimai
Kaip pakeisti šrifto šeimą?
Nustatyti PortionFormat.LatinFont:
fmt.LatinFont = new FontData("Arial");FontData priima šriftų šeimos pavadinimą kaip eilutę.
Kaip nustatyti pastraipos lygiavimą?
Naudoti ParagraphFormat.Alignment:
tf.Paragraphs[0].ParagraphFormat.Alignment = TextAlignment.Center;Palaikomos reikšmės: Left, Center, Right, Justify.
Kaip nustatyti eilučių tarpą?
Naudoti ParagraphFormat.SpaceBefore (taškai prieš pastraipą) arba ParagraphFormat.SpaceAfter taškai po pastraipos:
tf.Paragraphs[0].ParagraphFormat.SpaceBefore = 12; // 12pt before
tf.Paragraphs[0].ParagraphFormat.SpaceAfter = 6; // 6pt after