Cara Memformat Teks di .NET

Cara Memformat Teks di .NET

Aspose.Slides FOSS for .NET provides fine-grained text formatting through the PortionFormat class. A Portion adalah unit teks independen terkecil; ia memetakan ke satu run pemformatan dalam sebuah paragraf. Panduan ini menunjukkan cara menerapkan pemformatan tebal, miring, ukuran font, dan warna pada teks dalam sebuah presentasi.

Panduan Langkah-demi-Langkah

Langkah 1: Instal Paket

dotnet add package Aspose.Slides.Foss

Langkah 2: Tambahkan Bentuk dengan Bingkai Teks

Sebelum memformat teks, sebuah shape harus berisi sebuah TextFrame. Gunakan shape.AddTextFrame() untuk membuatnya.

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

Langkah 3: Akses TextFrame

shape.AddTextFrame() mengembalikan TextFrame objek. Anda juga dapat mengambilnya nanti melalui shape.TextFrame.

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

A TextFrame berisi daftar Paragraph objek (tf.Paragraphs). Setiap Paragraph berisi Portion objek (paragraph.Portions).


Langkah 4: Terapkan Pemformatan Tebal dan Miring

Gunakan PortionFormat.FontBold dan PortionFormat.FontItalic. Properti-properti ini menerima NullableBool.True, NullableBool.False, atau NullableBool.NotDefined (mewarisi dari 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);

Langkah 5: Atur Ukuran Font dan Warna

Atur PortionFormat.FontHeight untuk ukuran (dalam poin) dan gunakan FillFormat untuk warna.

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) menerima nilai 0-255 untuk setiap saluran.


Langkah 6: Beberapa Portion dalam Satu Paragraf

Sebuah paragraf tunggal dapat berisi beberapa bagian dengan pemformatan yang berbeda. Tambahkan yang baru Portion ke paragraf Portions koleksi:

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

Masalah Umum dan Solusinya

Teks tetap berwarna hitam meskipun sudah mengatur warna

Pastikan FillFormat.FillType = FillType.Solid diatur sebelum menetapkan warna. Tanpa mengatur tipe isian, perubahan warna mungkin tidak berpengaruh.

NullableBool.True vs true

PortionFormat.FontBold mengharapkan NullableBool.True, bukan C# true. Menetapkan C# true tidak akan dikompilasi karena tipe tidak kompatibel.

Font tidak muncul dalam file yang disimpan

The LatinFont properti mengatur keluarga font Latin. Jika tidak diatur, font tema presentasi yang digunakan. Font khusus harus disematkan atau tersedia di mesin penampil.


Pertanyaan yang Sering Diajukan

Bagaimana cara mengubah keluarga font?

Atur PortionFormat.LatinFont:

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

FontData menerima nama keluarga font sebagai string.

Bagaimana cara mengatur perataan paragraf?

Gunakan ParagraphFormat.Alignment:

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

Nilai yang didukung: Left, Center, Right, Justify.

Bagaimana cara mengatur spasi baris?

Gunakan ParagraphFormat.SpaceBefore (titik sebelum paragraf) atau ParagraphFormat.SpaceAfter poin setelah paragraf:

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

Lihat Juga

 Bahasa Indonesia