Johdanto

Aspose.Slides FOSS for .NET tarjoaa kattavan joukon luokkia PowerPoint-esitysten hallintaan kokonaan C#:ssa. Kirjasto antaa sinun luoda uusia .pptx tiedostoja alusta alkaen, ladata olemassa olevia, muokata dioja ja muotoja sekä tallentaa tuloksen takaisin levylle – kaikki ilman Microsoft Officen tai minkään ulkoisen riippuvuuden asentamista.

Aspose.Slides.Foss NuGet‑paketti kohdistuu .NET 9.0:een ja toimii identtisesti Windowsissa, macOSissa, Linuxissa ja Docker‑säilöissä. Se on julkaistu MIT‑lisenssin alla, joten voit käyttää sitä kaupallisissa ja avoimen lähdekoodin projekteissa ilman rajoituksia.

Tämä julkaisu käy läpi esitysten hallinnan ydintoiminnot: diojen käsittely, muotohierarkioiden rakentaminen, tekstin järjestäminen, taulukoiden hallinta ja tallentaminen PPTX-muotoon.


Mitä sisältyy

Esitysten luominen ja lataaminen

Presentation-luokka on sisäänkäynti jokaiselle toiminnolle. Voit luoda tyhjän esityksen, ladata sen tiedostopolusta tai lukea sen virrasta. Luokka toteuttaa IDisposable, joten sen käärittäminen using-lauseella varmistaa, että resurssit vapautetaan oikein.

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

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

Presentation-objekti paljastaa täyden diojen hierarkian ominaisuuksien, kuten Slides, Masters, LayoutSlides, Sections, CommentAuthors, Images ja NotesSize, avulla.

Diojen kanssa työskenteleminen

SlideCollection, jonka Presentation.Slides palauttaa, tukee diojen lisäämistä, kloonaamista, sisällyttämistä, uudelleenjärjestämistä ja poistamista. Voit kloonata dian samassa esityksessä tai eri esitysten välillä säilyttäen tai uudelleenmääräten asettelut.

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;

Jokainen Slide paljastaa SlideNumber, Hidden, LayoutSlide, NotesSlideManager ja Name. Voit iteroida kokoelman foreach-toiminnolla tai muuntaa sen taulukoksi ToArray()-toiminnolla.

Muodot ja AutoShapes

Jokainen dia sisältää ShapeCollection, johon pääsee Slide.Shapes kautta. Kokoelma tarjoaa tehdasmenetelmiä yleisimmille muototyypeille.

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

AddAutoShape- ja InsertAutoShape-menetelmät hyväksyvät ShapeType-enum-arvon sekä sijainti- ja kokokoordinaatit. AddConnector, InsertConnector, AddPictureFrame ja InsertPictureFrame noudattavat samaa mallia.

Teksti: Kappaleet ja osat

Esityksen teksti sijaitsee TextFrame:n sisällä, joka sisältää ParagraphCollection. Jokainen Paragraph sisältää PortionCollection Portion-objekteja, jotka edustavat yksittäisiä tekstijaksoja itsenäisellä muotoilulla.

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

Jokaisella Portion on PortionFormat-ominaisuus, jonka avulla voidaan hallita fonttia, kokoa, lihavointia/kursivointia, väriä, alleviivausta ja muita merkitason ominaisuuksia. ParagraphFormat hallitsee tasausta, luettelomerkin tyyliä, välistystä ja sisennystä.

Taulukot

Taulukot lisätään ShapeCollection.AddTable:n avulla, joka hyväksyy sarakeleveydet ja rivikorkeudet taulukoina. Palautettu Table-objekti tarjoaa pääsyn Rows:iin, Columns:iin ja yksittäisiin Cell-objekteihin.

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;

Esitysten tallentaminen

Presentation.Save-menetelmä kirjoittaa asiakirjan tiedostoon tai virtaan. SaveFormat-enum määrittää tulostusmuodon. PPTX on ensisijainen tuettu tulostusmuoto.

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

Voit myös välittää SaveOptions-objektin lisäohjaukseen tulosteen suhteen.


Pika-aloitus

Asenna paketti .NET CLI:n kautta:

dotnet add package aspose.slides.foss

Luo ja tallenna sitten minimaalinen esitys:

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

Tuetut formaatit

MuotoTiedostopääteLukuKirjoitus
PPTX.pptxKylläKyllä
PPSX.ppsxEiKyllä
PPTM.pptmEiKyllä
POTX.potxEiKyllä
ODP.odpEiKyllä
FODP.fodpEiKyllä

Huomautus: Kirjasto lukee ja kirjoittaa PPTX:n natiivisti. Muut luettelossa SaveFormat enumissa olevat formaatit on määritelty API-tasolla; todellinen vientitarkkuus voi vaihdella. Vanhaa .ppt binaarimuotoa ei tueta.


Avoin lähdekoodi ja lisensointi

Aspose.Slides FOSS for .NET on julkaistu MIT‑lisenssin alla. Täydellinen lähdekoodi on saatavilla GitHubissa. Voit käyttää sitä kaupallisissa ja avoimen lähdekoodin projekteissa, muokata koodia ja jakaa sitä ilman rajoituksia. API‑avainta, lisenssitiedostoa tai rekisteröintiä ei vaadita.


Aloittaminen