Εισαγωγή
Aspose.Slides FOSS for .NET παρέχει ένα ολοκληρωμένο σύνολο κλάσεων για τη διαχείριση παρουσιάσεων PowerPoint εξ ολοκλήρου σε C#. Η βιβλιοθήκη σας επιτρέπει να δημιουργείτε νέα .pptx αρχεία από το μηδέν, να φορτώνετε υπάρχοντα, να χειρίζεστε διαφάνειες και σχήματα, και να αποθηκεύετε το αποτέλεσμα ξανά στο δίσκο – όλα χωρίς την εγκατάσταση του Microsoft Office ή οποιασδήποτε εξωτερικής εξάρτησης.
Το πακέτο NuGet Aspose.Slides.Foss στοχεύει στο .NET 9.0 και εκτελείται ταυτόσημα σε Windows, macOS, Linux και Docker containers. Κυκλοφορεί υπό την άδεια MIT, ώστε να μπορείτε να το χρησιμοποιήσετε σε εμπορικά και ανοιχτού κώδικα έργα χωρίς περιορισμούς.
Αυτή η ανάρτηση περιγράφει τις βασικές δυνατότητες διαχείρισης παρουσίασης: εργασία με διαφάνειες, δημιουργία ιεραρχιών σχημάτων, οργάνωση κειμένου, διαχείριση πινάκων και αποθήκευση σε PPTX.
Τι περιλαμβάνεται
Δημιουργία και Φόρτωση Παρουσιάσεων
Η κλάση Presentation είναι το σημείο εισόδου για κάθε λειτουργία. Μπορείτε να δημιουργήσετε μια κενή παρουσίαση, να τη φορτώσετε από διαδρομή αρχείου ή να την διαβάσετε από ροή. Η κλάση υλοποιεί IDisposable, έτσι η περιτύλιξή της σε δήλωση using εξασφαλίζει ότι οι πόροι απελευθερώνονται σωστά.
// Create a brand-new, empty presentation
using var pres = new Presentation();
// Load an existing file
using var existing = new Presentation("report.pptx");
Το αντικείμενο Presentation εκθέτει την πλήρη ιεραρχία διαφανειών μέσω ιδιοτήτων όπως Slides, Masters, LayoutSlides, Sections, CommentAuthors, Images και NotesSize.
Εργασία με Slides
Το SlideCollection που επιστρέφεται από το Presentation.Slides υποστηρίζει την προσθήκη, την κλωνοποίηση, την εισαγωγή, την αναδιάταξη και την αφαίρεση διαφανειών. Μπορείτε να κλωνοποιήσετε μια διαφάνεια εντός της ίδιας παρουσίασης ή μεταξύ παρουσιάσεων, διατηρώντας ή επαναχαρτογραφώντας τις διατάξεις.
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;
Κάθε Slide εκθέτει SlideNumber, Hidden, LayoutSlide, NotesSlideManager και Name. Μπορείτε να επαναλάβετε τη συλλογή με foreach ή να τη μετατρέψετε σε πίνακα με ToArray().
Σχήματα και Αυτόματα Σχήματα
Κάθε διαφάνεια περιέχει ένα ShapeCollection προσβάσιμο μέσω Slide.Shapes. Η συλλογή παρέχει μεθόδους κατασκευής για τους πιο συνηθισμένους τύπους σχημάτων.
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 και InsertAutoShape μέθοδοι δέχονται μια τιμή enum ShapeType καθώς και συντεταγμένες θέσης και μεγέθους. Οι AddConnector, InsertConnector, AddPictureFrame και InsertPictureFrame ακολουθούν το ίδιο μοτίβο.
Κείμενο: Παράγραφοι και Τμήματα
Το κείμενο σε μια παρουσίαση βρίσκεται μέσα σε ένα TextFrame, το οποίο περιέχει ένα ParagraphCollection. Κάθε Paragraph περιέχει ένα PortionCollection από Portion αντικείμενα που αντιπροσωπεύουν μεμονωμένα τμήματα κειμένου με ανεξάρτητη μορφοποίηση.
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);
Κάθε Portion έχει μια PortionFormat ιδιότητα για τον έλεγχο της γραμματοσειράς, του μεγέθους, του έντονου/πλάγιου, του χρώματος, της υπογράμμισης και άλλων χαρακτηριστικών επιπέδου χαρακτήρα. Η ParagraphFormat ελέγχει την ευθυγράμμιση, το στυλ κουκίδων, το διάστημα και την εσοχή.
Πίνακες
Οι πίνακες προστίθενται μέσω του ShapeCollection.AddTable, ο οποίος δέχεται πλάτη στηλών και ύψη γραμμών ως πίνακες. Το επιστρεφόμενο αντικείμενο Table παρέχει πρόσβαση στα Rows, Columns και σε μεμονωμένα αντικείμενα Cell.
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;
Αποθήκευση Παρουσιάσεων
Η Presentation.Save μέθοδος γράφει το έγγραφο σε αρχείο ή ροή. Η SaveFormat enum καθορίζει τη μορφή εξόδου. Το PPTX είναι η κύρια υποστηριζόμενη μορφή εξόδου.
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);
Μπορείτε επίσης να περάσετε ένα αντικείμενο SaveOptions για πρόσθετο έλεγχο της εξόδου.
Γρήγορη εκκίνηση
Εγκαταστήστε το πακέτο μέσω του .NET CLI:
dotnet add package aspose.slides.foss
Στη συνέχεια, δημιουργήστε και αποθηκεύστε μια ελάχιστη παρουσίαση:
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);
Υποστηριζόμενες μορφές
| Μορφή | Επέκταση | Ανάγνωση | Εγγραφή |
|---|---|---|---|
| PPTX | .pptx | Ναι | Ναι |
| PPSX | .ppsx | Όχι | Ναι |
| PPTM | .pptm | Όχι | Ναι |
| POTX | .potx | Όχι | Ναι |
| ODP | .odp | Όχι | Ναι |
| FODP | .fodp | Όχι | Ναι |
Σημείωση: Η βιβλιοθήκη διαβάζει και γράφει PPTX εγγενώς. Άλλες μορφές που αναφέρονται στην
SaveFormatenum δηλώνονται σε επίπεδο API· η πραγματική πιστότητα εξαγωγής μπορεί να διαφέρει. Η παλαιά.pptδυαδική μορφή δεν υποστηρίζεται.
Ανοιχτός Κώδικας & Αδειοδότηση
Το Aspose.Slides FOSS για .NET κυκλοφορεί υπό την άδεια MIT. Ο πλήρης κώδικας πηγής είναι διαθέσιμος στο GitHub. Μπορείτε να το χρησιμοποιήσετε σε εμπορικά και ανοιχτού κώδικα έργα, να τροποποιήσετε τον κώδικα και να το αναδιανείμετε χωρίς περιορισμούς. Δεν απαιτείται κλειδί API, αρχείο άδειας ή εγγραφή.
Ξεκινώντας
- Οδηγός Προγραμματιστή: docs.aspose.org/slides/net/ – μαθήματα και εννοιολογική τεκμηρίωση.
- Βάση Γνώσεων: kb.aspose.org/slides/net/ – Συχνές ερωτήσεις και άρθρα οδηγιών.
- Αναφορά API: reference.aspose.org/slides/net/ – πλήρης αναφορά κλάσεων και μεθόδων.