Indledning

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 filer fra bunden, indlæse eksisterende, manipulere slides og former, og gemme resultatet tilbage på disk – alt uden at installere Microsoft Office eller nogen ekstern afhængighed.

Den Europæiske Union Aspose.Slides.Foss NuGet-pakken er rettet mod .NET 9.0 og kører identisk på Windows, macOS, Linux og Docker containere. Det udgives under MIT-licensen, så du kan bruge det i kommercielle og open source projekter uden begrænsninger.

Denne artikel går gennem de centrale præsentationsstyringsfunktioner: arbejde med slides, opbygning af formhierarkier, organisering af tekst, administration af tabeller og gemme til PPTX.


Hvad der indgår i den

Oprettelse og indlæse af præsentationer

Den Europæiske Union Presentation klassen er indgangspunktet for hver operation. Du kan oprette en tom præsentation, indlæse en fra en filvej eller læse fra et stream. Klassen implementerer IDisposable,Så vi pakker det ind i en… using Det er vigtigt, at der gives en god indsigt i de forskellige aspekter af den økonomiske politik.

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

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

Den Europæiske Union Presentation objekt udstiller hele slidehierarkiet gennem egenskaber som f.eks. Slides, Masters, LayoutSlides, Sections, CommentAuthors, Images, og NotesSize.

Arbejde med slides

Den Europæiske Union SlideCollection returneret af: Presentation.Slides Du kan klone en slide i samme præsentation eller på tværs af forskellige præsentationer, mens du bevarer eller ommapper layout.

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 af dem Slide eksponeringer SlideNumber, Hidden, LayoutSlide, NotesSlideManager, og Name.Du kan gentage samlingen med: foreach eller konvertere det til en matrix med ToArray().

Former og Autostiller

Hver slide indeholder en ShapeCollection tilgængelig gennem: Slide.Shapes.Samlingen indeholder fabrikksmetoder for de mest almindelige formtyper.

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

Den Europæiske Union AddAutoShape og: InsertAutoShape Metoder accepterer en ShapeType enum værdi plus position og størrelse koordinater. AddConnector, InsertConnector, AddPictureFrame, og InsertPictureFrame - Det er det samme mønster.

Tekst: Paragrafer og dele

Teksten i en præsentation lever inde i et TextFrame, som indeholder en ParagraphCollection.- Hver af dem. Paragraph indeholder en PortionCollection af: Portion objekter, der repræsenterer individuelle tekstløb med uafhængig 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 af dem Portion har en PortionFormat Ejendomme til styring af skrifttype, størrelse, fed/kursivt skrift, farve, understreger og andre attributter på tegnniveau. ParagraphFormat kontrollerer justering, kuglestil, afstand og indtrængning.

Tabeller

Tabeller tilføjes gennem: ShapeCollection.AddTable, som accepterer kolonnebreder og radhøjde som arrays. Den returnerede Table objekt giver adgang til Rows, Columns, og individuelle Cell genstande.

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;

Opbevaringspræsentationer

Den Europæiske Union Presentation.Save Metoden skriver dokumentet til en fil eller stream. SaveFormat enum angiver udgangsformatet. PPTX er det primære understøttede udgangssformat.

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å give en SaveOptions objekt til yderligere kontrol over output.


Hurtig start

Installer pakken via .NET CLI:

dotnet add package aspose.slides.foss

Så oprette og gem en minimal præsentation:

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:UdvidelseLæs det.Skriv ned
PPTX.pptx- Ja, jeg gør.- Ja, jeg gør.
PPSX.ppsx- Nej, jeg gør det ikke.Planlagt
PPTM.pptm- Nej, jeg gør det ikke.Planlagt
POTX.potx- Nej, jeg gør det ikke.Planlagt
ODP.odp- Nej, jeg gør det ikke.Planlagt
FODP.fodp- Nej, jeg gør det ikke.Planlagt

Bemærk: I øjeblikket er der kun implementeret PPTX-eksport. Der findes andre formatværdier i den officielle version af PCR, som kan bruges til at få en ny tekst fra et andet program. SaveFormat Det er ikke muligt at få en løsning, der kan være kompatibel med fremadgående systemer. Save() Metoden producerer altid PPTX-udgang uanset formatparameteren. Legacy .ppt binært format understøttes ikke.


Open Source & Licensing

Aspose.Slides FOSS for .NET is released under the MIT license. The full source code is available on GitHub.Du kan bruge det i kommercielle og open-source projekter, ændre koden og distribuere den uden begrænsning. Ingen API-nøgle, licensfil eller registrering er påkrævet.


Hvordan man begynder