Bevezetés

Aspose.Slides FOSS for .NET provides a comprehensive set of classes for managing PowerPoint presentations entirely in C#. The library lets you create new .pptx fájlokat, feltölteni a meglévőket, manipulálni az diafilmeket és alakzatokat és visszaőrizni a eredményt a lemezen – mindezt anélkül, hogy telepítene Microsoft Office-t vagy bármilyen külső függőséget.

A Bizottság Aspose.Slides.Foss A NuGet csomag a .NET 9.0-ot célozza, és azonos módon fut Windows-, macOS-, Linux- és Docker konténereken. Az MIT licenc alatt kerül kiadásra, így kereskedelmi és nyílt forráskódú projektekben is korlátozások nélkül használhatja.

Ez a bejegyzés átjárja az alapvető prezentációs kezelési képességeket: dialapú munka, alak hierarchiák létrehozása, szöveg megszervezése, táblázatok kezelése és PPTX-be mentése.


Mit tartalmaz?

Előadás létrehozása és feltöltése

A Bizottság Presentation A klasszis minden művelet bevezető pontja. Egy üres prezentációt létrehozhat, egy fájl útvonalról töltheti vagy olvashatja a folyóból. A klassz végrehajtja az operációkat és programokat. IDisposable, így egy… using A jelentés biztosítja, hogy a források megfelelően kiengedettek legyenek.

// Create a brand-new, empty presentation
using var pres = new Presentation();

// Load an existing file
using var existing = new Presentation("report.pptx");

A Bizottság Presentation objektum kiemeli a teljes dia hierarchiát olyan tulajdonságok révén, mint például: Slides, Masters, LayoutSlides, Sections, CommentAuthors, Images,és a következők: NotesSize.

Slide-ekkel való munka

A Bizottság SlideCollection visszaadta: Presentation.Slides A képernyőket ugyanazon prezentációban vagy a többi bemutatón belül klónozhatja, miközben megőrzi vagy átalakítja az elrendezéseket.

using var pres = new Presentation();

// The default presentation contains one blank slide
var firstSlide = pres.Slides[0];

// Clone the first slide and append it
pres.Slides.AddClone(firstSlide);

// Insert a clone at a specific position
pres.Slides.InsertClone(1, firstSlide);

// Remove a slide by index
pres.Slides.RemoveAt(2);

// Total slide count
int count = pres.Slides.Count;

Mindenki. Slide kivetítők SlideNumber, Hidden, LayoutSlide, NotesSlideManager,és a következők: Name.A gyűjteményet megismételheted a következővel: foreach vagy átalakítani egy táblázatba, amely a következőket tartalmazza: ToArray().

Alapok és automatikus alakok

Minden dia tartalmaz egy ShapeCollection hozzáférhető a Slide.Shapes.A gyűjtemény a leggyakoribb alaktípusok gyártási módszereit tartalmazza.

using var pres = new Presentation();
var slide = pres.Slides[0];

// Add a rectangle AutoShape
var rect = slide.Shapes.AddAutoShape(
    ShapeType.Rectangle, 50, 50, 300, 150);

// Add a connector
var connector = slide.Shapes.AddConnector(
    ShapeType.BentConnector3, 100, 200, 200, 50);

// Reorder a shape to bring it forward
slide.Shapes.Reorder(0, rect);

// Remove all shapes
slide.Shapes.Clear();

A Bizottság AddAutoShape és a InsertAutoShape módszerek elfogadják a ShapeType enum érték plusz pozíció és méret koordináták. AddConnector, InsertConnector, AddPictureFrame, és InsertPictureFrame Ugyanazt a mintát követik.

A szöveg: bekezdések és részletek.

A szöveg egy prezentációban egy TextFrame, amely tartalmaz egy ParagraphCollection.Mindenki. Paragraph tartja a PortionCollection az Portion az egyes szövegeket független formázással reprezentáló objektumok futtatása.

using var pres = new Presentation();
var slide = pres.Slides[0];

var shape = slide.Shapes.AddAutoShape(
    ShapeType.Rectangle, 50, 50, 400, 200);

// Access the shape's text frame
var tf = shape.TextFrame;

// Read or set the full text
tf.Text = "Hello, presentation world!";

// Work with individual paragraphs and portions
var para = new Paragraph();
var portion = new Portion("Formatted run");
para.Portions.Add(portion);
tf.Paragraphs.Add(para);

Mindenki. Portion a) az alábbiak: PortionFormat a betűtípus, méret, vastag/kurzírás, szín, aláhúzás és egyéb karakterszintű attribútumok ellenőrzésére szolgáló tulajdonság. ParagraphFormat irányítja a sorrendet, a golyó stílusát, az elkülönítést és a beágyazást.

Táblázatok

A táblázatokat az alábbiakban kell hozzáadni: ShapeCollection.AddTable, amely a oszlop szélességét és sormagasságát arrayként fogadja el. A visszaküldött Table objektum hozzáférést biztosít a Rows, Columns, és egyéni Cell tárgyak.

using var pres = new Presentation();
var slide = pres.Slides[0];

double[] colWidths = { 150, 150, 150 };
double[] rowHeights = { 40, 40, 40 };

var table = slide.Shapes.AddTable(
    50, 50, colWidths, rowHeights);

// Set text in a cell
table.Rows[0][0].TextFrame.Text = "Header 1";
table.Rows[0][1].TextFrame.Text = "Header 2";
table.Rows[0][2].TextFrame.Text = "Header 3";

// Merge cells
table.MergeCells(table.Rows[1][0], table.Rows[1][2], false);

// Style presets
table.StylePreset = TableStylePreset.MediumStyle2Accent1;

A bemutatók mentése

A Bizottság Presentation.Save A módszer egy fájlba vagy folyóba írja a dokumentumot. SaveFormat A PPTX a fő támogatott kimeneti formátum.

using var pres = new Presentation();
// ... build slides ...

// Save to a file
pres.Save("output.pptx", SaveFormat.Pptx);

// Save to a stream
using var ms = new MemoryStream();
pres.Save(ms, SaveFormat.Pptx);

// Save specific slides by index
pres.Save("subset.pptx", new[] { 1, 3 }, SaveFormat.Pptx);

A következőkben is szerepelhet: SaveOptions az előállás további ellenőrzésére szolgáló objektum.


Gyors kezdés

A csomag telepítése a .NET CLI-n keresztül:

dotnet add package aspose.slides.foss

Ezután hozzon létre és mentse meg egy minimális prezentációt:

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

// 1. Create a new presentation
using var pres = new Presentation();

// 2. Get the default slide
var slide = pres.Slides[0];

// 3. Add a title shape
var title = slide.Shapes.AddAutoShape(
    ShapeType.Rectangle, 50, 30, 600, 60);
title.TextFrame.Text = "Quarterly Report";

// 4. Add a content shape
var body = slide.Shapes.AddAutoShape(
    ShapeType.Rectangle, 50, 120, 600, 300);
var para = new Paragraph();
para.Portions.Add(new Portion("Revenue grew 12% year-over-year."));
body.TextFrame.Paragraphs.Add(para);

// 5. Save as PPTX
pres.Save("quarterly-report.pptx", SaveFormat.Pptx);

Támogatott formátumok

FormátumA BizottságOlvasd!Írj!
PPTX.pptxIgen, igen. - Az is jó.Igen, igen. - Az is jó.
PPSX.ppsxNem, nem.Tervezett
PPTM.pptmNem, nem.Tervezett
POTX.potxNem, nem.Tervezett
ODP.odpNem, nem.Tervezett
FODP.fodpNem, nem.Tervezett

Megjegyzés: Jelenleg csak a PPTX export alkalmazható. A formátumban más értékek is léteznek, mint az MPEG-formátumok és a PSE-s programok. SaveFormat A továbbiakban a következők kerülnek elhelyezésre: Save() A PPTX-kiadás mindig a formátum paraméterétől függetlenül történik. Legacy .ppt bináris formátum nem támogatott.


Nyitott forráskódú és licenckészítés

Aspose.Slides FOSS for .NET is released under the MIT license. The full source code is available on GitHub.A programot kereskedelmi és nyílt forráskódú projektekben használhatja, módosíthatja a kódot, és korlátozás nélkül terjesztheti. Nincs szükség API kulcsra, licencfájlra vagy regisztrációra.


Kezdjük!