Kaip formatuoti tekstą .NET

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.Foss

2 ž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 frame

TextFrame 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

Žr. taip pat

 Lietuvių