Uvod u članak

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 datoteke od početka, učitavanje postojećih, manipulacija slajdovima i oblikima, i pohranjivanje rezultata na disk – sve bez instaliranja Microsoft Officea ili bilo kakve vanjske ovisnosti.

U skladu s člankom 1. Aspose.Slides.Foss NuGet paket je namijenjen .NET 9.0 i radi identično na Windows, macOS, Linux i Docker kontejnerima. Izdan je pod licencom MIT-a, tako da ga možete koristiti u komercijalnim i otvorenim izvornim projektima bez ograničenja.

Ovaj post vodi kroz osnovne mogućnosti upravljanja prezentacijom: rad s slajdovima, izgradnja hijerarhija oblika, organiziranje teksta, upravljanje tabelama i čuvanje u PPTX.


Što je uključeno u to?

Stvaranje i učitavanje prezentacija

U skladu s člankom 1. Presentation class je ulazna točka za svaku operaciju. Možete stvoriti prazninu prezentacije, učitati jednu s puta datoteke ili pročitati iz toka. Class implementira IDisposable, tako da ga zavući u … using Izjava osigurava da su resursi ispravno oslobođeni.

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

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

U skladu s člankom 1. Presentation objekt izloži cijelu slajd hijerarhiju kroz svojstva kao što su: Slides, Masters, LayoutSlides, Sections, CommentAuthors, Images, i NotesSize.

Rad s slajdovima

U skladu s člankom 1. SlideCollection vraćeno od strane: Presentation.Slides Možete klonirati slajd unutar iste prezentacije ili preko predstavljanja, dok čuvaju ili remap layoutove.

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;

Svaki od njih. Slide izloženosti SlideNumber, Hidden, LayoutSlide, NotesSlideManager, i Name.Možete iterirati kolekciju s: foreach ili ga pretvoriti u niz s: ToArray().

Oblike i Autooblike

Svaki slajd sadrži ShapeCollection dostupna putem: Slide.Shapes.Sastav je sastavio za najčešće oblikove.

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

U skladu s člankom 1. AddAutoShape i u članku 1. InsertAutoShape Metode prihvaćaju: ShapeType Enum vrijednost plus pozicija i veličina koordinata. AddConnector, InsertConnector, AddPictureFrame, i InsertPictureFrame slijede isti obrazac.

Tekst: Odlomci i dijelovi

Tekst u prezentaciji živi unutar TextFrame, koji sadrži: ParagraphCollection.-Svaka od nas. Paragraph ima: PortionCollection od: Portion objekte koji predstavljaju pojedinačni tekst s neovisnim oblikovanjem.

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

Svaki od njih. Portion ima: PortionFormat Priroda za kontrolu font, veličine, dvostruke/kurzive riječi, boje, podrazumevanja i drugih atributa na razini znakova. ParagraphFormat kontrolira usklađivanje, stil metka, razmak i uvlačenje.

Sljedeći članak

Tabele se dodaju putem: ShapeCollection.AddTable, koji prihvaća širine kolona i visine redova kao nizove. Vratiti Table objekt pruža pristup Rows, Columns, i pojedinačno Cell predmeti.

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;

Uštedjeti prezentacije

U skladu s člankom 1. Presentation.Save Metod piše dokument u datoteku ili stream. SaveFormat enum određuje izlazni format. PPTX je primarni podržani izlazi format .

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

Možete i proći kroz: SaveOptions objekat za dodatnu kontrolu nad izlazima.


Brzi početak

Instalirajte paket putem .NET CLI-a:

dotnet add package aspose.slides.foss

Onda kreirajte i čuvajte minimalnu prezentaciju:

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

Podržani formati

Format:Proračunska sredstvaČitaj.Pišite.
PPTX.pptx (Novi tekst)- Da, u redu.- Da, u redu.
PPSX.ppsxNe, ne mogu.Planirano
PPTM.pptmNe, ne mogu.Planirano
POTX.-Pokretni.Ne, ne mogu.Planirano
ODP.odpNe, ne mogu.Planirano
FODP.fodpNe, ne mogu.Planirano

Upis: Trenutno se primjenjuje samo PPTX izvoz. SaveFormat U ovom slučaju, to je vrlo važno. Save() metoda uvijek proizvodi PPTX izlaz bez obzira na parametar formata. Legacy .ppt binarni format nije podržan.


Otvoreni izvor i licenciranje

Aspose.Slides FOSS for .NET is released under the MIT license. The full source code is available on GitHub. Možete ga koristiti u komercijalnim i open-source projektima, modificirati kod i redistribuirati bez ograničenja. Nema API ključa, licencne datoteke ili registracije je potrebno.


Početak