Πώς να δημιουργήσετε παρουσιάσεις στο .NET

Πώς να δημιουργήσετε παρουσιάσεις στο .NET

Aspose.Slides FOSS for .NET lets you create PowerPoint presentations entirely in C# with no dependency on Microsoft Office. This guide shows how to create a new presentation, add slides and shapes, format text, and save the result.

Βήμα προς βήμα οδηγός

Βήμα 1: Εγκατάσταση του πακέτου

Εγκαταστήστε το FOSS από τη NuGet. .NET 9.0 ή μεταγενέστερο απαιτείται.

aspose-slides-foss/slides is not yet published — build from source until it ships. See the project README for build instructions.

Ελέγξτε την εγκατάσταση:

using Aspose.Slides.Foss;

using var prs = new Presentation();
Console.WriteLine("Aspose.Slides FOSS ready");

Δεν απαιτούνται άλλα πακέτα συστήματος.


Βήμα 2: Εισαγωγή των απαιτούμενων χώρων ονόματος

Προσθέστε τους χώρους ονόματος που χρειάζεστε για τη δημιουργία και την αποθήκευση των παρουσιάσεων.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

Όλες οι μόνιμες μορφές ζουν σε Aspose.Slides.Foss.ShapeType.Ολα τα είδη της διαμόρφωσης (FillType, NullableBool(Είναι επίσης σε Aspose.Slides.Foss.


Βήμα 3: Δημιουργήστε μια παρουσίαση

Χρησιμοποιήστε new Presentation() Με το A using Μια νέα παρουσίαση ξεκινά με ένα άσπρο σάιτ.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
Console.WriteLine($"Slides in new presentation: {prs.Slides.Count}");
// work with prs
prs.Save("output.pptx", SaveFormat.Pptx);

Σημαντικό : Πάντα χρησιμοποιείτε Presentation Με το A using Ετικέτες: Η εφαρμογή της τάξης IDisposable και οι πόροι δεν θα απελευθερωθούν σωστά χωρίς αυτό.


Βήμα 4: Προσθήκη σε ένα Slide

Το πρώτο σάιτ είναι στο δείκτη 0. Μια άσπρη παρουσίαση έχει ακριβώς ένα σαλίτ.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var slide = prs.Slides[0];  // zero-based index
Console.WriteLine($"Slide at index 0: {slide}");
prs.Save("output.pptx", SaveFormat.Pptx);

Βήμα 5: Προσθέστε μια μορφή

Χρησιμοποιήστε slide.Shapes.AddAutoShape() να προσθέσετε ένα AutoShape. οι παράμετροι είναι (shapeType, x, y, width, height) Όλα σε σημεία (1 σημείο = 1/72 ίντσες, το τυποποιημένο σάιτ είναι 720 x 540 pt).

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var slide = prs.Slides[0];

// Rectangle at (50, 50) with 400 wide and 120 tall
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 400, 120);

// Attach a text frame
shape.AddTextFrame("Hello from Aspose.Slides FOSS!");

prs.Save("with-shape.pptx", SaveFormat.Pptx);

Βήμα 6: Αποθηκεύστε την παρουσίαση

Κλήση prs.Save(path, SaveFormat.Pptx) Πριν από την απομάκρυνση του αντικειμένου. PPTX είναι η μόνη υποστηριζόμενη μορφή εξόδου.

prs.Save("result.pptx", SaveFormat.Pptx);

Το αρχείο γράφεται ατομικά. εάν εμφανιστεί ένα σφάλμα πριν από αυτή την κλήση, δεν δημιουργείται κανένα αρχικό εξώφυλλο.


ΕΠΙΛΗΜΑΤΙΚΟ ΔΡΑΣΤΗΡΙΟ ΠΡΟΒΛΕΜΟ

Το παρακάτω πρόγραμμα δημιουργεί μια παρουσίαση δύο σκιών με τη μορφή τίτλου στο πρώτο στίχο και έναν πίνακα στο δεύτερο.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();

// --- Slide 1: title shape ---
var slide1 = prs.Slides[0];
var title = slide1.Shapes.AddAutoShape(ShapeType.Rectangle, 40, 40, 640, 80);
var tf = title.AddTextFrame("Q1 Results: Executive Summary");
var fmt = tf.Paragraphs[0].Portions[0].PortionFormat;
fmt.FontHeight = 32;
fmt.FontBold = NullableBool.True;
fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 0, 70, 127);

// --- Slide 2: table ---
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];
var table = slide2.Shapes.AddTable(40, 40,
    new double[] { 200.0, 120.0, 120.0 },
    new double[] { 40.0, 40.0, 40.0 });

string[] headers = { "Region", "Revenue", "Growth" };
string[][] data = {
    new[] { "North", "$1.2M", "+8%" },
    new[] { "South", "$0.9M", "+4%" },
};

for (int col = 0; col < headers.Length; col++)
    table.Rows[0][col].TextFrame.Text = headers[col];

for (int row = 0; row < data.Length; row++)
    for (int col = 0; col < data[row].Length; col++)
        table.Rows[row + 1][col].TextFrame.Text = data[row][col];

prs.Save("q1-results.pptx", SaveFormat.Pptx);
Console.WriteLine("Saved q1-results.pptx");

Κοινά προβλήματα και τακτοποιήσεις

ObjectDisposedException

Χρησιμοποιείτε το Presentation Το αντικείμενο μετά την using Όλα τα έργα πρέπει να γίνουν πριν το αντικείμενο απομακρυνθεί.

Λάθος του ονόματος για ShapeType

Βεβαιωθείτε ότι έχετε using Aspose.Slides.Foss; στην κορυφή του αρχείου σας. ShapeType, NullableBool, FillType,Και άλλα ενούμερα βρίσκονται σε αυτό το όνομα.

SaveFormat Άλλοι εκτός από Pptx

Πέρασε οποιαδήποτε SaveFormat Αξία διαφορετική από την SaveFormat.Pptx Δεν ρίχνει εξαίρεση. η παράμετρος μορφής αγνοείται σιωπηλά και το PPTX παράγεται πάντα. χρησιμοποιήστε πάντα SaveFormat.Pptx Να είναι ξεκάθαρο.


Συχνές ερωτήσεις

Ποιο είναι το default slide size;?

Μια νέα Presentation() δημιουργεί σκιές στο τυποποιημένο μέγεθος 10 x 7.5 ιντσών (720 x 540 σημεία). Η αλλαγή του μεγέθους της σκιασμής δεν υποστηρίζεται ακόμη σε αυτή την έκδοση.

Μπορώ να προσθέσω περισσότερα από ένα slide;?

Ναι, καλέστε prs.Slides.AddEmptySlide(prs.LayoutSlides[0]) Για να προσθέσετε ένα άδειο σάιτ και να το αποκτήσετε πρόσβαση μέσω του δείκτη:

prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];

Μπορώ να ανοίξω ένα υπάρχον αρχείο και να προσθέσω σκιές;?

ΝΑΙ :

using var prs = new Presentation("existing.pptx");
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
prs.Save("existing.pptx", SaveFormat.Pptx);

Σε ποιες μορφές μπορώ να αποθηκεύσω;?

Μόνο SaveFormat.Pptx Η εξαγωγή σε PDF, HTML, SVG ή εικόνες δεν είναι διαθέσιμη σε αυτή την έκδοση.


Δείτε επίσης

 Ελληνικά