Kā formatēt tekstu ar .NET

Kā formatēt tekstu ar .NET

Aspose.Slides FOSS for .NET provides fine-grained text formatting through the PortionFormat klase. A Portion ir mazākā neatkarīgā teksta vienība; tā atbilst vienam formatēšanas posmam rindkopā. Šajā ceļvedī parādīts, kā prezentācijā uz teksta piemērot treknrakstu, slīprakstu, fonta lielumu un krāsas formatēšanu.

Solī pa solim rokasgrāmata

1. solis: instalējiet pakotni

dotnet add package Aspose.Slides.Foss

2. solis: Pievienojiet formu ar teksta rāmi

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

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ļūstiet TextFrame

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

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

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


4. solis: Pielietojiet treknraksta un slīpraksta formatēšanu

Izmantot PortionFormat.FontBold un PortionFormat.FontItalic. Šīs īpašības pieņem NullableBool.True, NullableBool.False, vai NullableBool.NotDefined (mantot 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: Iestatiet fonta lielumu un krāsu

Iestatīt PortionFormat.FontHeight izmēram (punktos) un izmantot 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āki fragmenti vienā rindkopā

Viens rindkopa var saturēt vairākas daļas ar atšķirīgu formatējumu. Pievieno jaunu Portion rindkopas Portions kolekcija:

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

Biežāk sastopamās problēmas un to risinājumi

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

Nodrošini 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 gaida NullableBool.True, nevis C# true. Piešķiršana C# true netiks kompilēts, jo tipi nav saderīgi.

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

Tas 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?

Iestatīt PortionFormat.LatinFont:

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

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

Kā iestatīt rindkopas līdzinājumu?

Izmantot ParagraphFormat.Alignment:

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

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

Kā iestatīt rindas atstarpi?

Izmantot 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