Hvordan formatere tekst i .NET
Aspose.Slides FOSS for .NET gir finjustert tekstformatering gjennom PortionFormat-klassen. En Portion er den minste uavhengige enheten av tekst; den tilsvarer en enkelt formateringssekvens i et avsnitt. Denne guiden viser hvordan du bruker fet, kursiv, skriftstørrelse og fargeformatering på tekst i en presentasjon.
Trinn-for-trinn guide
Steg 1: Installer pakken
dotnet add package Aspose.Slides.FossSteg 2: Legg til en form med en tekstboks
Før du formaterer tekst, må en form inneholde en TextFrame. Bruk shape.AddTextFrame() for å opprette en.
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);Trinn 3: Få tilgang til TextFrame
shape.AddTextFrame() returnerer TextFrame‑objektet. Du kan også hente det senere via shape.TextFrame.
var tf = shape.TextFrame; // if the frame already exists
var tf = shape.AddTextFrame(""); // creates a new frameEn TextFrame inneholder en liste over Paragraph‑objekter (tf.Paragraphs). Hver Paragraph inneholder Portion‑objekter (paragraph.Portions).
Steg 4: Bruk fet og kursiv formatering
Bruk PortionFormat.FontBold og PortionFormat.FontItalic. Disse egenskapene godtar NullableBool.True, NullableBool.False eller NullableBool.NotDefined (arver fra 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);Trinn 5: Angi skriftstørrelse og farge
Angi PortionFormat.FontHeight for størrelse (i punkter) og bruk FillFormat for farge.
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) aksepterer verdier 0‑255 for hver kanal.
Steg 6: Flere deler i ett avsnitt
Et enkelt avsnitt kan inneholde flere deler med forskjellig formatering. Legg til en ny Portion i avsnittets Portions‑samling:
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);Vanlige problemer og løsninger
Tekst vises svart selv etter å ha satt farge
Sørg for at FillFormat.FillType = FillType.Solid er satt før du tilordner fargen. Uten å sette fylltypen, kan fargeendringen ha ingen effekt.
NullableBool.True vs true
PortionFormat.FontBold forventer NullableBool.True, ikke C# true. Å tildele C# true vil ikke kompilere fordi typene er inkompatible.
Skrift vises ikke i den lagrede filen
LatinFont-egenskapen angir den latinske skrifttypefamilien. Hvis den ikke er angitt, brukes presentasjonstemaets skrifttype. Tilpassede skrifttyper må være innebygd eller tilgjengelige på visningsmaskinen.
Ofte stilte spørsmål
Hvordan endrer jeg skrifttypefamilien?
Sett PortionFormat.LatinFont:
fmt.LatinFont = new FontData("Arial");FontData godtar fontfamilienavnet som en streng.
Hvordan setter jeg avsnittsjustering?
Bruk ParagraphFormat.Alignment:
tf.Paragraphs[0].ParagraphFormat.Alignment = TextAlignment.Center;Støttede verdier: Left, Center, Right, Justify.
Hvordan setter jeg linjeavstand?
Bruk ParagraphFormat.SpaceBefore (punkter før avsnitt) eller ParagraphFormat.SpaceAfter (punkter etter avsnitt):
tf.Paragraphs[0].ParagraphFormat.SpaceBefore = 12; // 12pt before
tf.Paragraphs[0].ParagraphFormat.SpaceAfter = 6; // 6pt after