Συχνές Ερωτήσεις
Συχνές Ερωτήσεις
Πώς εγκαθιστώ το Aspose.Slides FOSS;
Εγκατάσταση από το NuGet χρησιμοποιώντας το .NET CLI. Απαιτείται .NET 9.0 ή νεότερη έκδοση.
dotnet add package Aspose.Slides.FossΕπαληθεύστε την εγκατάσταση:
using Aspose.Slides.Foss;
using var prs = new Presentation();
Console.WriteLine($"Slides: {prs.Slides.Count}");Δεν απαιτείται το Microsoft Office ή κάποιο άλλο runtime του συστήματος.
Γιατί πρέπει να χρησιμοποιήσω using var prs = new Presentation();?
Η κλάση Presentation υλοποιεί το IDisposable και διαχειρίζεται εσωτερικούς πόρους XML. Χωρίς μια δήλωση using, αυτοί οι πόροι δεν απελευθερώνονται όταν το αντικείμενο Presentation βγαίνει εκτός εμβέλειας, κάτι που μπορεί να προκαλέσει διαρροές πόρων ή κλειδώματα αρχείων.
Πάντα ακολουθήστε αυτό το μοτίβο:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation("input.pptx");
// work here
prs.Save("output.pptx", SaveFormat.Pptx);Ποιες μορφές αρχείων μπορώ να αποθηκεύσω;
Μόνο το PPTX υποστηρίζεται:
using Aspose.Slides.Foss.Export;
prs.Save("output.pptx", SaveFormat.Pptx);Η εξαγωγή σε PDF, HTML, SVG ή μορφές εικόνας (PNG, JPEG) δεν είναι διαθέσιμη σε αυτήν την έκδοση.
Μπορώ να ανοίξω .ppt (παλαιά PowerPoint 97-2003) αρχεία;
Η βιβλιοθήκη υποστηρίζει κυρίως .pptx (Office Open XML). Ο constructor Presentation δέχεται μια διαδρομή αρχείου .ppt και θα εντοπίσει τη μορφή, αλλά η αξιόπιστη ανάλυση δυαδικών .ppt αρχείων δεν είναι εγγυημένη και δεν αποτελεί υποστηριζόμενη περίπτωση χρήσης σε αυτήν την έκδοση. Χρησιμοποιήστε αρχεία .pptx για όλα τα σενάρια παραγωγής.
Πώς μπορώ να έχω πρόσβαση στις διαφάνειες;
Οι διαφάνειες είναι μια συλλογή με μηδενική αρίθμηση, προσβάσιμη μέσω prs.Slides:
var firstSlide = prs.Slides[0];
int slideCount = prs.Slides.Count;Πώς προσθέτω μια δεύτερη διαφάνεια;
Χρησιμοποιήστε prs.Slides.AddEmptySlide() με διάταξη:
using var prs = new Presentation();
var layout = prs.LayoutSlides[0];
prs.Slides.AddEmptySlide(layout);
var slide2 = prs.Slides[1];
prs.Save("two-slides.pptx", SaveFormat.Pptx);Πώς μπορώ να ορίσω το χρώμα φόντου της διαφάνειας;
Το γέμισμα φόντου δεν είναι διαθέσιμο σε αυτήν την έκδοση.
Πώς χρησιμοποιώ NullableBool?
NullableBool είναι μια τρι‑κατάσταση enum που χρησιμοποιείται για ιδιότητες μορφοποίησης. Χρησιμοποιήστε NullableBool.True (όχι το true της C#) για έντονη, πλάγια και παρόμοιες ιδιότητες:
using Aspose.Slides.Foss;
fmt.FontBold = NullableBool.True;
fmt.FontItalic = NullableBool.False;
fmt.FontUnderline = TextUnderlineType.Single;Γιατί η ρύθμιση του χρώματος του κειμένου δεν έχει καμία επίδραση;
Πρέπει επίσης να ορίσετε FillType = FillType.Solid πριν από την ανάθεση του χρώματος:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 200, 0, 0);Μπορώ να χρησιμοποιήσω διαγράμματα ή SmartArt;
Όχι. Τα διαγράμματα, το SmartArt, τα αντικείμενα OLE, τα animation, οι μεταβάσεις, οι υπερσυνδέσεις, οι μακροεντολές VBA και οι ψηφιακές υπογραφές δεν έχουν υλοποιηθεί σε αυτήν την έκδοση.
Η βιβλιοθήκη υποστηρίζει το .NET 8;
Όχι. Απαιτείται .NET 9.0 ή νεότερο.
Είναι αυτή η βιβλιοθήκη ασφαλής ως προς τα νήματα;
Κάθε αντικείμενο Presentation είναι ανεξάρτητο. Η δημιουργία και χρήση ξεχωριστών Presentation στιγμιοτύπων από ξεχωριστά νήματα είναι ασφαλής, εφόσον δεν μοιράζεστε ένα μόνο αντικείμενο Presentation μεταξύ νημάτων χωρίς εξωτερικό κλείδωμα.
Πώς ενσωματώνω μια εικόνα;
Διαβάστε τα byte της εικόνας και προσθέστε τα στο prs.Images, στη συνέχεια δημιουργήστε ένα PictureFrame:
byte[] imageData = File.ReadAllBytes("logo.png");
var image = prs.Images.AddImage(imageData);
slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 200, 150, image);