Kā formatēt tekstu .NET

Kā formatēt tekstu .NET

Aspose.Slides FOSS for .NET nodrošina smalku teksta formatēšanu, izmantojot PortionFormat klasi. Portion ir mazākā neatkarīgā teksta vienība; tā atbilst vienam formatēšanas posmam rindkopā. Šis ceļvedis parāda, kā prezentācijā uzlikt treknrakstu, slīprakstu, fonta lielumu un krāsas formatēšanu tekstam.

Solī pa solim ceļvedis

1. solis: instalēt pakotni

dotnet add package Aspose.Slides.Foss

2. solis: Pievienot formu ar teksta rāmju

Pirms teksta formatēšanas formai jābūt TextFrame. Izmantojiet shape.AddTextFrame(), lai izveidotu to.

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);

3. solis: Piekļūt TextFrame

shape.AddTextFrame() atgriež TextFrame objektu. To var arī izgūt vēlāk, izmantojot shape.TextFrame.

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

TextFrame satur sarakstu ar Paragraph objektiem (tf.Paragraphs). Katrs Paragraph satur Portion objektus (paragraph.Portions).


4. solis: Pielietot treknrakstu un slīprakstu formatēšanu

Izmantojiet PortionFormat.FontBold un PortionFormat.FontItalic. Šīs īpašības pieņem NullableBool.True, NullableBool.False vai NullableBool.NotDefined (mantojot no galvenā).

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);

5. solis: iestatīt fonta lielumu un krāsu

Iestatiet PortionFormat.FontHeight izmēram (punktos) un izmantojiet FillFormat krāsai.

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) pieņem vērtības 0‑255 katram kanālam.


6. solis: Vairākas daļas vienā rindkopā

Viena rindkopa var saturēt vairākas daļas ar dažādu formatējumu. Pievienojiet jaunu Portion rindkopas Portions kolekcijai:

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);

Vispārējās problēmas un risinājumi

Teksts parādās melns, pat pēc krāsas iestatīšanas

Pārliecinieties, ka FillFormat.FillType = FillType.Solid ir iestatīts pirms krāsas piešķiršanas. Bez aizpildījuma tipa iestatīšanas krāsas maiņa var nebūt ietekmīga.

NullableBool.True pret true

PortionFormat.FontBold sagaida NullableBool.True, nevis C# true. C# true piešķiršana netiks kompilēta, jo tipi nav saderīgi.

Fonts neparādās saglabātajā failā

LatinFont īpašība iestata latīņu fontu ģimeni. Ja nav iestatīta, tiek izmantots prezentācijas tēmas fonts. Pielāgotie fonti jāiekļauj vai jābūt pieejamiem skatīšanas ierīcē.


Biežāk uzdotie jautājumi

Kā es varu mainīt fonta ģimeni?

Kopa PortionFormat.LatinFont:

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

FontData pieņem fonta ģimenes nosaukumu kā virkni.

Kā iestatīt rindkopas līdzināšanu?

Izmantojiet ParagraphFormat.Alignment:

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

Atbalstītās vērtības: Left, Center, Right, Justify.

Kā iestatīt rindas atstarpi?

Izmantojiet ParagraphFormat.SpaceBefore (punkti pirms rindkopas) vai ParagraphFormat.SpaceAfter (punkti pēc rindkopas):

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

Skatīt arī

 Latviešu