Πώς να φορτώσετε παρουσιάσεις στο .NET

Πώς να φορτώσετε παρουσιάσεις στο .NET

Aspose.Slides FOSS for .NET lets you open any .pptx αρχείο, ελέγξτε το περιεχόμενό του και είτε αποθηκεύσετε πίσω στο PPTX ή εξάγετε δεδομένα από αυτό. Αυτό το εγχειρίδιο καλύπτει την ανοίγηση ενός αρχείου, ιταριστικά σκιές, ανάγνωση σχήματος κειμένου, και περιτριγυρίζοντας τη διατήρηση.

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

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

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


Βήμα 2: Ανοίξτε μια υπάρχουσα παρουσίαση

Πηγαίνετε το αρχείο στο δρόμο new Presentation().Χρησιμοποιήστε το A using Η δήλωση για την εξασφάλιση της καθαριότητας.

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

using var prs = new Presentation("input.pptx");
Console.WriteLine($"Slide count: {prs.Slides.Count}");
prs.Save("output.pptx", SaveFormat.Pptx);

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


Βήμα 3: Ελέγξτε τα Slides

Εισάγετε πάνω από όλα τα σκιές και εκτυπώστε τον δείκτη τους:

using Aspose.Slides.Foss;

using var prs = new Presentation("deck.pptx");
for (int i = 0; i < prs.Slides.Count; i++)
{
    var slide = prs.Slides[i];
    int shapeCount = slide.Shapes.Count;
    Console.WriteLine($"Slide {i}: {shapeCount} shapes");
}

Βήμα 4: Διαβάστε το κείμενο σχήματος

Διαβάστε το κείμενο και διαβάστε τα σχήματα που έχουν ένα TextFrame:

using Aspose.Slides.Foss;

using var prs = new Presentation("deck.pptx");
foreach (var slide in prs.Slides)
{
    foreach (var shape in slide.Shapes)
    {
        if (shape is IAutoShape autoShape && autoShape.TextFrame != null)
        {
            string text = autoShape.TextFrame.Text;
            if (!string.IsNullOrWhiteSpace(text))
                Console.WriteLine($"  Shape text: {text}");
        }
    }
}

Βήμα 5: Διαβάστε τα στοιχεία του εγγράφου

Η πρόσβαση στις ιδιότητες κεντρικού εγγράφου από prs.DocumentProperties:

using Aspose.Slides.Foss;

using var prs = new Presentation("deck.pptx");
var props = prs.DocumentProperties;
Console.WriteLine($"Title:   {props.Title}");
Console.WriteLine($"Author:  {props.Author}");
Console.WriteLine($"Subject: {props.Subject}");

Βήμα 6: Σώστε το Round-Trip

Μετά την επανεξέταση ή τροποποίηση της παρουσίασης, αποθηκεύστε το πίσω στο PPTX:

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

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


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

FileNotFoundException

Δείτε το δρόμο προς την .pptx Το αρχείο είναι σωστό σε σχέση με το εργασιακό κατάλογο. Path.Combine Για την κατασκευή του δρόμου:

string path = Path.Combine(AppContext.BaseDirectory, "assets", "deck.pptx");
using var prs = new Presentation(path);

Exception: File format is not supported

Η βιβλιοθήκη υποστηρίζει .pptx (Office Open XML) μόνο. κληρονομιά .ppt (βινική PowerPoint 97-2003) αρχεία δεν υποστηρίζονται.

Οι μορφές δεν έχουν ιδιοκτησία TextFrame

Μερικές μορφές (Connector, PictureFrameΔεν έχει ένα TextFrame.Κάντε το cast to IAutoShape και ελέγξτε το μηδέν πριν από την πρόσβαση στο κείμενο.


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

Η φόρτιση διατηρεί όλο το πρωτότυπο περιεχόμενο;?

Ναι. άγνωστα μέρη XML διατηρούνται verbatim σε στρογγυλό αποθηκεύσεις. η βιβλιοθήκη δεν θα αφαιρέσει οποιοδήποτε περιεχόμενο XML που δεν αναγνωρίζει ακόμα.

Μπορώ να φορτώ ένα κρυφό προστατευμένο PPTX;?

Οι προτάσεις που προστατεύονται από κωδικούς πρόσβασης (κρυπτογραφημένες) δεν υποστηρίζονται σε αυτή την έκδοση.

Μπορώ να εκχύλιζα ενσωματωμένες εικόνες;?

Εισάγετε την συλλογή εικόνων: prs.Images Επιστρέφει το ImageCollection.Κάθε εικόνα έχει ιδιότητες για να διαβάζει τα δεδομένα πρώτης εικόνας.

Υποστηρίζεται η φόρτωση από ένα MemoryStream;?

Ναι, το Presentation Ο κατασκευαστής αποδέχεται την Stream:

using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");

Δείτε επίσης

 Ελληνικά