Kaip formatuoti tekstą .NET
Aspose.Slides FOSS for .NET suteikia smulkią teksto formatavimą per PortionFormat klasę. Portion yra mažiausia nepriklausoma teksto vienetas; jis atitinka vieną formatavimo seką pastraipoje. Šiame vadove parodyta, kaip pritaikyti paryškintą, kursyvą, šrifto dydį ir spalvos formatavimą tekstui pristatyme.
Žingsnis po žingsnio vadovas
Žingsnis 1: Įdiekite paketą
dotnet add package Aspose.Slides.Foss2 žingsnis: Pridėti formą su teksto rėmeliu
Prieš formatuojant tekstą, forma turi turėti TextFrame. Naudokite shape.AddTextFrame(), kad sukurtumėte ją.
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: Pasiekti TextFrame
shape.AddTextFrame() grąžina TextFrame objektą. Jį taip pat galite vėliau gauti per shape.TextFrame.
var tf = shape.TextFrame; // if the frame already exists
var tf = shape.AddTextFrame(""); // creates a new frameTextFrame yra sąrašas Paragraph objektų (tf.Paragraphs). Kiekvienas Paragraph turi Portion objektų (paragraph.Portions).
4 žingsnis: taikyti paryškintą ir kursyvinį formatavimą
Naudokite PortionFormat.FontBold ir PortionFormat.FontItalic. Šios savybės priima NullableBool.True, NullableBool.False arba NullableBool.NotDefined (paveldima iš pagrindinės).
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ą
Nustatykite PortionFormat.FontHeight dydžiui (tašais) ir naudokite 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: Kelios dalys vienoje pastraipoje
Viena 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 rodomas juodai net po spalvos nustatymo
Įsitikinkite, kad FillFormat.FillType = FillType.Solid yra nustatytas prieš priskiriant spalvą. Nesukonfigūruojant užpildymo tipo, spalvos pakeitimas gali neturėti jokio poveikio.
NullableBool.True prieš true
PortionFormat.FontBold tikisi NullableBool.True, o ne C# true. Priskiriant C# true, jis nesusijungs, nes tipai nesuderinami.
Šriftas neatsiranda išsaugotame faile
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 šrifto šeimos pavadinimą kaip eilutę.
Kaip nustatyti pastraipos lygiavimą?
Naudokite ParagraphFormat.Alignment:
tf.Paragraphs[0].ParagraphFormat.Alignment = TextAlignment.Center;Palaikomos reikšmės: Left, Center, Right, Justify.
Kaip nustatyti eilučių tarpą?
Naudokite 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