Úvodní článek
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 soubory od nuly, načítání existujících, manipulace s diapozitivy a tvary a ukládání výsledku zpět na disk - vše bez instalace Microsoft Office nebo jakékoliv externí závislosti.
Úřad pro bezpečnost a ochranu zdraví Aspose.Slides.Foss Paket NuGet je zaměřen na .NET 9.0 a běží identicky v kontejnerech Windows, macOS, Linux a Docker. Je vydán pod licencí MIT, takže jej můžete bez omezení používat ve komerčních a open-source projektech.
Tento příspěvek prochází základními funkcemi správy prezentace: práce s diapozitivy, vytváření hierarchii tvarů, uspořádání textu, správu tabulek a ukládání do PPTX.
Co se v ní nachází?
Vytvoření a načítání prezentací
Úřad pro bezpečnost a ochranu zdraví Presentation třída je vstupním bodem pro každou operaci. Můžete vytvořit prázdnou prezentaci, načíst jednu ze stezky souboru nebo přečíst z proudu. Třída implementuje IDisposable, takže to zabalí do … using Zpráva zajišťuje, že zdroje jsou řádně uvolňovány.
// Create a brand-new, empty presentation
using var pres = new Presentation();
// Load an existing file
using var existing = new Presentation("report.pptx");
Úřad pro bezpečnost a ochranu zdraví Presentation objekt odhaluje celou hierarchii skluzavky prostřednictvím vlastností, jako je: Slides, Masters, LayoutSlides, Sections, CommentAuthors, Images,a) NotesSize.
Práce s diapozitivy
Úřad pro bezpečnost a ochranu zdraví SlideCollection vrácen: Presentation.Slides Podporuje přidávání, klonování, vkládání, přeřazení a odstranění diapozitivů. Můžete klonat snímky ve stejné prezentaci nebo napříč prezentacemi při zachovávání či zmapování rozvržení.
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;
Každá. Slide expozice SlideNumber, Hidden, LayoutSlide, NotesSlideManager,a) Name.Můžete iterovat kolekci s foreach nebo převést do řady s: ToArray().
Tvary a automatické tvary
Každý snímek obsahuje: ShapeCollection přístupné prostřednictvím: Slide.Shapes.Sbírka poskytuje výrobní metody pro nejčastější typy tvarů.
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();
Úřad pro bezpečnost a ochranu zdraví AddAutoShape a) InsertAutoShape Metody přijímat a ShapeType hodnota enum plus pozice a velikosti souřadnice. AddConnector, InsertConnector, AddPictureFrame,a) InsertPictureFrame - A to je stejný vzor.
Text: Odstavec a část
Text v prezentaci žije uvnitř TextFrame, který obsahuje: ParagraphCollection.Každý . Paragraph drží v sobě: PortionCollection z: Portion objekty reprezentující jednotlivé textové běhy s nezávislým formátováním.
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);
Každá. Portion má: PortionFormat vlastnost pro ovládání písma, velikosti, tučné/kurzí písmena, barvy, podtržení a jiných atributů na úrovni znaků. ParagraphFormat ovládá vyrovnání, styl kulky, rozmístění a útržek.
Tabulky
Tabulky se přidávají prostřednictvím: ShapeCollection.AddTable, který přijímá šířky sloupců a výšky řádků jako soubory. Vrátí se Table objekt poskytuje přístup k Rows, Columns, a individuální Cell předměty.
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;
Uložení prezentací
Úřad pro bezpečnost a ochranu zdraví Presentation.Save metoda píše dokument do souboru nebo proudu. SaveFormat enum specifikuje výstupní formát. PPTX je primární podporovaný vývodní 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);
Můžete také předat SaveOptions objekt pro dodatečnou kontrolu výstupu.
Rychlý start
Nainstalovat balíček prostřednictvím .NET CLI:
dotnet add package aspose.slides.foss
Pak vytvořte a uložte minimální prezentaci:
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);
Podporované formáty
| Formát | Rozšíření | Čtěte. | Píšeš. |
|---|---|---|---|
| PPTX | .pptx | Ano , ano . | Ano , ano . |
| PPSX | .ppsx | Ne, ne. | Plánované |
| PPTM | .pptm | Ne, ne. | Plánované |
| POTX | .potx | Ne, ne. | Plánované |
| ODP | .odp | Ne, ne. | Plánované |
| FODP | .fodp | Ne, ne. | Plánované |
Poznámka: V současné době je implementován pouze export PPTX.
SaveFormatV současné době se na ně používá pro budoucí kompatibilitu, ale ještě nejsou funkční.Save()metoda vždy vyprodukuje výstup PPTX bez ohledu na parametry formátu. Legacy.pptbinární formát není podporován.
Open Source & Licence
Aspose.Slides FOSS for .NET is released under the MIT license. The full source code is available on GitHub.Můžete jej použít v komerčních a open-source projektech, upravovat kód a redistribuovat bez omezení. Žádný API klíč, licenční soubor nebo registrace není zapotřebí.
Jak začít?
- Příručka pro vývojáře: Docs.aspose.org/slides/net/ – výukové programy a koncepční dokumentace.
- Základní znalosti: Přehled: http://www.aspose.org/slides/net/ – FAQ a články o tom, jak to udělat.
- Odkaz na API: Reference.aspose.org/slides/net/ – úplná třída a referenční metoda.