كيفية تنسيق النص في .NET
Aspose.Slides FOSS for .NET provides fine-grained text formatting through the PortionFormat الفئة A Portion هو أصغر وحدة مستقلة من النص؛ فإنه خرائط إلى تنسيق واحد يحدث في إطار الفقرة.هذا الدليل يعرض كيفية تطبيق حريص، الإيطالية، حجم الخط، وتكوين الألوان على النص في عرض.
خطوة بخطوة دليل
الخطوة 1: قم بتثبيت الحزمة
aspose-slides-foss/slides is not yet published — build from source until it ships. See the project README for build instructions.
الخطوة 2: إضافة شكل مع إطار نصي
قبل إعداد النص ، يجب أن يحتوي الشكل على TextFrame.استخدام shape.AddTextFrame() لإنشاء واحد .
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);الخطوة الثالثة: الوصول إلى TextFrame
shape.AddTextFrame() يعود إلى TextFrame يمكنك أيضا الحصول عليها في وقت لاحق من خلال shape.TextFrame.
var tf = shape.TextFrame; // if the frame already exists
var tf = shape.AddTextFrame(""); // creates a new frameأ أ TextFrame يحتوي على قائمة من Paragraph الأجسام (tf.Paragraphs) كل واحد منهم Paragraph يحتوي على Portion الأجسام (paragraph.Portions).
الخطوة 4: تطبيق الشجاعة والإيطالية
استخدام PortionFormat.FontBold و PortionFormat.FontItalic.هذه الممتلكات تقبل NullableBool.True, NullableBool.False,أو NullableBool.NotDefined (أرث من الماجستير).
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: إعداد حجم الصورة والألوان
مجموعة PortionFormat.FontHeight الحجم (في النقاط) واستخدامها FillFormat من أجل اللون.
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) يوافق على قيم 0-255 لكل قناة.
الخطوة 6: مضاعفة الأجزاء في الفقرة الواحدة
يمكن أن يحتوي الفقرة الواحدة على عدة أجزاء مع تنسيقات مختلفة.إضافة جديد Portion إلى الفقرة الأولى من Portions جمع :
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);مشكلات و تصحيحات مشتركة
النص يظهر أسود حتى بعد وضع اللون
ضمان FillFormat.FillType = FillType.Solid يتم تعيينها قبل تخصيص اللون.بدون إعداد نوع ملء، قد لا يكون تغيير اللونة تأثير.
NullableBool.True vs true
PortionFormat.FontBold توقعات NullableBool.True,لا أريد أن أكون C# true.إلغاء C# true لن يتم تجميعها لأن الأنواع غير متوافقة.
لا تظهر الخطوط في الملف المحفوظ
وَالْمُتَّقِينَ LatinFont الممتلكات يحدد عائلة الخط اللاتيني.إذا لم يتم تعيينها، يتم استخدام الخط الموضوعي العرض التقديمي.يجب إدراج الخطوط المخصصة أو توفيرها على جهاز عرض.
الأسئلة المتكررة
كيف يمكنني تغيير عائلة الخطوط؟?
مجموعة PortionFormat.LatinFont:
fmt.LatinFont = new FontData("Arial");FontData يوافق على اسم العائلة الخط كسلسلة.
كيف أضع التوافق الفقري؟?
استخدام ParagraphFormat.Alignment:
tf.Paragraphs[0].ParagraphFormat.Alignment = TextAlignment.Center;القيم المساعدة : Left, Center, Right, Justify.
كيف أضع خط الفضاء؟?
استخدام ParagraphFormat.SpaceBefore (القسم قبل الفقرة) أو ParagraphFormat.SpaceAfter (بعد الفقرة الثانية من المادة):
tf.Paragraphs[0].ParagraphFormat.SpaceBefore = 12; // 12pt before
tf.Paragraphs[0].ParagraphFormat.SpaceAfter = 6; // 6pt after