.NET'te Sunumlarda Madde İşaretli ve Numaralı Listeleri Yönetme

Genel Bakış

Aspose.Slides for .NET, PowerPoint ve OpenDocument sunumlarında maddeli ve numaralı listeler oluşturmanıza ve biçimlendirmenize olanak tanır. Bir liste öğesi, madde ayarları paragraf biçimi aracılığıyla kontrol edilen bir paragraftır.

Paragraf düzeyindeki liste ayarlarına erişmek için IParagraph.ParagraphFormat özelliğini kullanın. Ana giriş noktası, bir IBulletFormat nesnesi döndüren IParagraphFormat.Bullet özelliğidir. Bu nesne ile madde tipini, sembolünü, resmini, rengini, boyutunu, numaralandırma stilini ve başlangıç numarasını ayarlayabilirsiniz.

Bu makale şunları gösterir:

  • özel bir sembolle maddeli bir liste oluşturma
  • resimli madde oluşturma
  • paragraf derinliğini ayarlayarak çok seviyeli bir liste oluşturma
  • numaralı bir liste oluşturma
  • var olan bir sunumdaki liste biçimlendirmesini inceleme ve değiştirme

Maddeli Liste Oluşturma

Maddeli bir liste oluşturmak için, bir ITextFrame içine IParagraph nesneleri ekleyin ve IBulletFormat.Type değerini BulletType.Symbol olarak ayarlayın. Ardından madde görünümünü kontrol etmek için IBulletFormat.Char, IBulletFormat.Color ve IBulletFormat.Height değerlerini belirleyebilirsiniz.

Aşağıdaki C# kodu, bir slaytta maddeli bir liste nasıl oluşturulacağını gösterir:

static Paragraph CreateParagraph(string text)
{
    var paragraph = new Paragraph();
    paragraph.ParagraphFormat.Bullet.Type = BulletType.Symbol;
    paragraph.ParagraphFormat.Bullet.Char = '*';
    paragraph.ParagraphFormat.Indent = 15;
    paragraph.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True;
    paragraph.ParagraphFormat.Bullet.Color.Color = Color.IndianRed;
    paragraph.ParagraphFormat.Bullet.Height = 100;
    paragraph.Text = text;
    return paragraph;
}

using var presentation = new Presentation();

var slide = presentation.Slides[0];
var autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 200, 50);

var textFrame = autoShape.TextFrame;
textFrame.Paragraphs.Clear();

var paragraph1 = CreateParagraph("The first paragraph");
textFrame.Paragraphs.Add(paragraph1);

var paragraph2 = CreateParagraph("The second paragraph");
textFrame.Paragraphs.Add(paragraph2);

presentation.Save("symbol_bullets.pptx", SaveFormat.Pptx);

Sonuç:

Sembol maddeler

Numaralı Liste Oluşturma

Öğelerin sırası önemli olduğunda numaralı listeler kullanın. IBulletFormat.Type değerini BulletType.Numbered olarak ayarlayın. Ayrıca IBulletFormat.NumberedBulletStyle ile bir numaralandırma biçimi seçebilir veya listenin 1 yerine başka bir değerden başlamasını istiyorsanız IBulletFormat.NumberedBulletStartWith değerini belirleyebilirsiniz.

Aşağıdaki C# kodu, bir slaytta numaralı bir liste nasıl oluşturulacağını gösterir:

using var presentation = new Presentation();

var slide = presentation.Slides[0];
var autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 90, 80);

var textFrame = autoShape.TextFrame;
textFrame.Paragraphs.Clear();

var paragraph1 = new Paragraph();
paragraph1.ParagraphFormat.Bullet.Type = BulletType.Numbered;
paragraph1.Text = "Apple";
textFrame.Paragraphs.Add(paragraph1);

var paragraph2 = new Paragraph();
paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered;
paragraph2.Text = "Orange";
textFrame.Paragraphs.Add(paragraph2);

var paragraph3 = new Paragraph();
paragraph3.ParagraphFormat.Bullet.Type = BulletType.Numbered;
paragraph3.Text = "Banana";
textFrame.Paragraphs.Add(paragraph3);

presentation.Save("numbered_bullets.pptx", SaveFormat.Pptx);

Sonuç:

Numaralı maddeler

Resimli Madde Oluşturma

Aspose.Slides, normal bir madde simgesini bir görüntüyle değiştirmenize olanak tanır. Resimli maddeler, küçük boyutta bile okunaklı kalan basit görüntülerle, örneğin simgeler veya küçük saydam PNG dosyalarıyla en iyi şekilde çalışır.

Resimli madde oluşturmak için, bir görüntüyü Presentation.Images koleksiyonuna ekleyin ve döndürülen görüntü nesnesini IBulletFormat.Picture özelliğine atayın. Görüntüyü atamadan önce IBulletFormat.Type değerini BulletType.Picture olarak ayarlayın.

Diyelim ki elimizde “image.png” adlı bir dosya var:

Maddeler için bir resim

Aşağıdaki C# kodu, bir slaytta resimli maddeler nasıl oluşturulacağını gösterir:

static Paragraph CreateParagraph(string text, IPPImage image)
{
    var paragraph = new Paragraph();
    paragraph.ParagraphFormat.Bullet.Type = BulletType.Picture;
    paragraph.ParagraphFormat.Bullet.Picture.Image = image;
    paragraph.ParagraphFormat.Indent = 15;
    paragraph.ParagraphFormat.Bullet.Height = 100;
    paragraph.Text = text;
    return paragraph;
}

using var presentation = new Presentation();

var slide = presentation.Slides[0];
var autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 200, 50);

var textFrame = autoShape.TextFrame;
textFrame.Paragraphs.Clear();

var imageBytes = File.ReadAllBytes("image.png");
var bulletImage = presentation.Images.AddImage(imageBytes);

var paragraph1 = CreateParagraph("The first paragraph", bulletImage);
textFrame.Paragraphs.Add(paragraph1);

var paragraph2 = CreateParagraph("The second paragraph", bulletImage);
textFrame.Paragraphs.Add(paragraph2);

presentation.Save("picture_bullets.pptx", SaveFormat.Pptx);

Sonuç:

Resimli maddeler

Çok Seviyeli Liste Oluşturma

Liste öğelerini farklı seviyelere yerleştirmek için IParagraphFormat.Depth özelliğini kullanın. Seviye 0 en üst seviyedir, seviye 1 onun altında iç içe bir seviyedir ve bu şekilde devam eder.

Aşağıdaki C# kodu, çok seviyeli maddeli bir liste nasıl oluşturulacağını gösterir:

using var presentation = new Presentation();

var slide = presentation.Slides[0];
var autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 260, 110);

var textFrame = autoShape.TextFrame;
textFrame.Paragraphs.Clear();

var paragraph1 = new Paragraph();
paragraph1.ParagraphFormat.Depth = 0;
paragraph1.Text = "My text - Depth 0";
textFrame.Paragraphs.Add(paragraph1);

var paragraph2 = new Paragraph();
paragraph2.ParagraphFormat.Depth = 1;
paragraph2.Text = "My text - Depth 1";
textFrame.Paragraphs.Add(paragraph2);

var paragraph3 = new Paragraph();
paragraph3.ParagraphFormat.Depth = 2;
paragraph3.Text = "My text - Depth 2";
textFrame.Paragraphs.Add(paragraph3);

var paragraph4 = new Paragraph();
paragraph4.ParagraphFormat.Depth = 3;
paragraph4.Text = "My text - Depth 3";
textFrame.Paragraphs.Add(paragraph4);

presentation.Save("multilevel_bullets.pptx", SaveFormat.Pptx);

Sonuç:

Çok seviyeli liste

Var Olan Bir Listeyi Değiştirme

Var olan bir sunumda liste biçimlendirmesini değiştirmek için hedef paragrafı erişin ve onun IParagraphFormat.Bullet ayarlarını güncelleyin. Listeleri oluşturmak için kullanılan aynı özellikler, PPT, PPTX veya ODP dosyasından yüklenen listeleri incelemek veya değiştirmek için de kullanılabilir.

using var presentation = new Presentation("input.pptx");

var slide = presentation.Slides[0];
var autoShape = (IAutoShape)slide.Shapes[0];
var paragraph = autoShape.TextFrame.Paragraphs[0];

paragraph.ParagraphFormat.Bullet.Type = BulletType.Numbered;
paragraph.ParagraphFormat.Bullet.NumberedBulletStyle = NumberedBulletStyle.BulletRomanUCPeriod;
paragraph.ParagraphFormat.Bullet.NumberedBulletStartWith = 1;
paragraph.ParagraphFormat.MarginLeft = 30;
paragraph.ParagraphFormat.Indent = -20;

presentation.Save("updated_list.pptx", SaveFormat.Pptx);

SSS

Maddeli ve numaralı listeler PDF veya görüntülere dışa aktarılabilir mi?

Evet. Hedef format ilgili metin düzeni ve madde özelliklerini desteklediğinde Aspose.Slides, liste biçimlendirmesini korur.

Var olan sunumlardaki listeleri düzenleyebilir miyim?

Evet. Sunumu yükleyin, hedef paragrafı erişin, onun IParagraphFormat.Bullet ayarlarını inceleyin veya güncelleyin ve sunumu kaydedin.

Listeler Latin dışı metin içerebilir mi?

Evet. Liste öğesi metni Unicode karakterler içerebilir; bu sayede çok dilli sunumlarda listeler oluşturabilirsiniz. Sunumda kullanılan yazı tiplerinin ihtiyacınız olan karakterleri desteklediğinden emin olun.