Introduksjon
Aspose.Slides FOSS for .NET tilbyr et omfattende sett med klasser for å håndtere PowerPoint‑presentasjoner helt i C#. Biblioteket lar deg opprette nye .pptx‑filer fra bunnen av, laste inn eksisterende, manipulere lysbilder og former, og lagre resultatet tilbake til disk – alt uten å installere Microsoft Office eller noen ekstern avhengighet.
Aspose.Slides.Foss NuGet-pakken retter seg mot .NET 9.0 og kjører identisk på Windows, macOS, Linux og Docker-containere. Den er utgitt under MIT‑lisensen, så du kan bruke den i kommersielle og åpen‑kilde‑prosjekter uten restriksjoner.
Dette innlegget går gjennom kjernefunksjonene for presentasjonsadministrasjon: arbeide med lysbilder, bygge formhierarkier, organisere tekst, håndtere tabeller og lagre til PPTX.
Hva som er inkludert
Opprette og laste inn presentasjoner
Presentation-klassen er inngangspunktet for hver operasjon. Du kan opprette en tom presentasjon, laste inn en fra en filsti, eller lese fra en strøm. Klassen implementerer IDisposable, så å pakke den inn i en using-setning sikrer at ressurser frigjøres riktig.
// Create a brand-new, empty presentation
using var pres = new Presentation();
// Load an existing file
using var existing = new Presentation("report.pptx");
Presentation-objektet eksponerer hele lysbildehierarkiet gjennom egenskaper som Slides, Masters, LayoutSlides, Sections, CommentAuthors, Images og NotesSize.
Arbeide med Slides
Den SlideCollection som returneres av Presentation.Slides støtter å legge til, klone, sette inn, endre rekkefølge og fjerne lysbilder. Du kan klone et lysbilde innenfor samme presentasjon eller på tvers av presentasjoner mens du bevarer eller remapper oppsett.
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;
Hver Slide eksponerer SlideNumber, Hidden, LayoutSlide, NotesSlideManager og Name. Du kan iterere samlingen med foreach eller konvertere den til en matrise med ToArray().
Figurer og AutoFigurer
Hver lysbilde inneholder en ShapeCollection som er tilgjengelig via Slide.Shapes. Samlingen gir fabrikkmetoder for de mest vanlige formtypene.
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 og InsertAutoShape-metodene godtar en ShapeType enum‑verdi pluss posisjons‑ og størrelseskoordinater. AddConnector, InsertConnector, AddPictureFrame og InsertPictureFrame følger samme mønster.
Tekst: Avsnitt og deler
Tekst i en presentasjon befinner seg inne i en TextFrame, som inneholder en ParagraphCollection. Hver Paragraph inneholder en PortionCollection av Portion‑objekter som representerer individuelle tekstsegmenter med uavhengig formatering.
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);
Hver Portion har en PortionFormat‑egenskap for å kontrollere skrifttype, størrelse, fet/kursiv, farge, understrekning og andre tegnnivå‑attributter. ParagraphFormat styrer justering, punktstil, avstand og innrykk.
Tabeller
Tabeller legges til via ShapeCollection.AddTable, som godtar kolonnebredder og rad høyder som matriser. Det returnerte Table‑objektet gir tilgang til Rows, Columns og individuelle Cell‑objekter.
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;
Lagring av presentasjoner
Metoden Presentation.Save skriver dokumentet til en fil eller strøm. Enum‑verdien SaveFormat spesifiserer utdataformatet. PPTX er det primære støttede utdataformatet.
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);
Du kan også sende et SaveOptions-objekt for ekstra kontroll over outputen.
Rask start
Installer pakken via .NET CLI:
dotnet add package aspose.slides.foss
Opprett og lagre en minimal presentasjon:
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);
Støttede formater
| Format | Extension | Les | Skriv |
|---|---|---|---|
| PPTX | .pptx | Ja | Ja |
| PPSX | .ppsx | Nei | Ja |
| PPTM | .pptm | Nei | Ja |
| POTX | .potx | Nei | Ja |
| ODP | .odp | Nei | Ja |
| FODP | .fodp | Nei | Ja |
Merk: Biblioteket leser og skriver PPTX nativt. Andre formater som er oppført i
SaveFormat-enumet er deklarert på API-nivå; faktisk eksportnøyaktighet kan variere. Legacy.pptbinært format støttes ikke.
Open Source og lisensiering
Aspose.Slides FOSS for .NET er utgitt under MIT‑lisensen. Den fullstendige kildekoden er tilgjengelig på GitHub. Du kan bruke den i kommersielle og åpne kildeprosjekter, endre koden og redistribuere den uten restriksjoner. Ingen API‑nøkkel, lisensfil eller registrering kreves.
Kom i gang
- Utviklerguide: docs.aspose.org/slides/net/ – opplæringsprogrammer og konseptuell dokumentasjon.
- Kunnskapsbase: kb.aspose.org/slides/net/ – vanlige spørsmål og hvordan‑gjøre‑artikler.
- API‑referanse: reference.aspose.org/slides/net/ – full klasse‑ og metode‑referanse.