Felsorolási és számozott listák kezelése prezentációkban .NET-ben

Áttekintés

Az Aspose.Slides for .NET lehetővé teszi felsorolási és számozott listák létrehozását és formázását PowerPoint és OpenDocument bemutatókban. A listaelem egy bekezdés, amelynek felsorolás beállításait a bekezdés formátumán keresztül szabályozzák.

Használja az IParagraph.ParagraphFormat tulajdonságot a bekezdés‑szintű lista beállítások eléréséhez. A fő belépési pont az IParagraphFormat.Bullet, amely egy IBulletFormat objektumot ad vissza. Ezzel az objektummal beállíthatja a felsorolás típusát, szimbólumát, képét, színét, méretét, számozási stílusát és a kezdő számot.

Ez a cikk bemutatja, hogyan:

  • egy egyedi szimbóllal ellátott felsorolási lista létrehozása
  • képes felsorolójel létrehozása
  • többszintű lista létrehozása a bekezdés mélységének beállításával
  • számozott lista létrehozása
  • lista formázásának ellenőrzése és módosítása egy meglévő bemutatóban

Felsorolási lista létrehozása

A felsorolási lista létrehozásához adjon IParagraph objektumokat egy ITextFrame‑hez, és állítsa be az IBulletFormat.Type értékét a BulletType.Symbol típusra. Ezután beállíthatja az IBulletFormat.Char, IBulletFormat.Color és IBulletFormat.Height értékeket a felsorolás megjelenésének szabályozásához.

Az alábbi C# kód bemutatja, hogyan hozhatunk létre felsorolási listát egy dián:

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

Az eredmény:

A szimbólum felsorolások

Számozott lista létrehozása

Használjon számozott listákat, ha az elemek sorrendje fontos. Állítsa be az IBulletFormat.Type értékét a BulletType.Numbered típusra. A IBulletFormat.NumberedBulletStyle segítségével választhat számozási formátumot, vagy beállíthatja a IBulletFormat.NumberedBulletStartWith értéket, ha a lista 1‑nél más értékkel kell, hogy kezdődjön.

Az alábbi C# kód megmutatja, hogyan hozhatunk létre számozott listát egy dián:

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

Az eredmény:

A számozott felsorolások

Képes felsorolójel létrehozása

Az Aspose.Slides lehetővé teszi, hogy egy szabályos felsorolási szimbólumot egy képpel helyettesítsen. A képes felsorolások leginkább egyszerű, kis méretben is olvasható képekkel működnek, például ikonokkal vagy kis átlátszó PNG fájlokkal.

A képes felsoroláshoz adjon képet a Presentation.Images gyűjteményhez, és rendelje hozzá a visszaadott kép objektumot az IBulletFormat.Picture tulajdonsághoz. Mielőtt a képet hozzárendeli, állítsa be az IBulletFormat.Type értékét a BulletType.Picture típusra.

Tegyük fel, hogy van egy „image.png” fájlunk:

Kép a felsorolásokhoz

Az alábbi C# kód bemutatja, hogyan hozhatunk létre képes felsorolásokat egy dián:

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

Az eredmény:

A képes felsorolások

Többszintű lista létrehozása

Használja az IParagraphFormat.Depth beállítást a listaelemek különböző szinteken való elhelyezéséhez. A 0. szint a legfelső szint, az 1. szint alatta van, és így tovább.

Az alábbi C# kód megmutatja, hogyan hozhatunk létre többszintű felsorolási listát:

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

Az eredmény:

A többszintű lista

Meglévő lista módosítása

A lista formázásának módosításához egy meglévő bemutatóban nyissa meg a cél bekezdést, és frissítse annak IParagraphFormat.Bullet beállításait. A listák létrehozásához használt ugyanazok a tulajdonságok használhatók a PPT, PPTX vagy ODP fájlból betöltött listák ellenőrzésére vagy módosítására.

Az alábbi C# kód megváltoztatja az első bekezdést egy szövegkeretben, hogy számozott lista stílust használjon:

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

GYIK

Exportálhatók-e a felsorolási és számozott listák PDF vagy képek formátumba?

Igen. Az Aspose.Slides megőrzi a lista formázását, ha a célformátum támogatja a megfelelő szövegelrendezést és felsorolási funkciókat.

Szerkeszthetek-e listákat meglévő bemutatókban?

Igen. Töltse be a bemutatót, érje el a cél bekezdést, vizsgálja vagy frissítse annak IParagraphFormat.Bullet beállításait, majd mentse a bemutatót.

Tartalmazhatnak-e a listák nem latin szöveget?

Igen. A listaelemek szövege tartalmazhat Unicode karaktereket, így többenyelvű bemutatókban is létrehozhat listákat. Győződjön meg arról, hogy a bemutatóban használt betűtípusok támogatják a szükséges karaktereket.