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

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

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

Πώς εγκαθιστώ το Aspose.Slides FOSS;

Προσθέστε την εξάρτηση Maven στο pom.xml. Απαιτείται Java 21 ή νεότερη.

<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>

Επαληθεύστε την εγκατάσταση:

import org.aspose.slides.foss.Presentation;

Presentation prs = new Presentation();
try {
    System.out.println("Slides: " + prs.getSlides().size());
} finally {
    prs.dispose();
}

Δεν απαιτείται το Microsoft Office ή άλλο runtime του συστήματος.


Γιατί πρέπει να καλέσω dispose() στο Presentation;

Η κλάση Presentation διαχειρίζεται εσωτερικούς πόρους πακέτου OPC. Χωρίς την κλήση του dispose(), αυτοί οι πόροι δεν απελευθερώνονται, κάτι που μπορεί να προκαλέσει διαρροές μνήμης ή κλειδώματα αρχείων. Πάντα χρησιμοποιήστε try-finally:

Presentation prs = new Presentation("input.pptx");
try {
    // work here
    prs.save("output.pptx", SaveFormat.PPTX);
} finally {
    prs.dispose();
}

Εναλλακτικά, χρησιμοποιήστε try-with-resources επειδή το Presentation υλοποιεί το AutoCloseable:

try (Presentation prs = new Presentation("input.pptx")) {
    prs.save("output.pptx", SaveFormat.PPTX);
}

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

Μόνο το PPTX υποστηρίζεται:

import org.aspose.slides.foss.export.SaveFormat;

prs.save("output.pptx", SaveFormat.PPTX);

Η εξαγωγή σε PDF, HTML, SVG ή μορφές εικόνας (PNG, JPEG) δεν είναι διαθέσιμη σε αυτήν την έκδοση.


Μπορώ να ανοίξω .ppt (παλαιά PowerPoint 97-2003) αρχεία;

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


Πώς μπορώ να αποκτήσω πρόσβαση στις διαφάνειες;

Οι διαφάνειες είναι μια συλλογή μηδενικής βάσης προσβάσιμη μέσω prs.getSlides():

ISlide firstSlide = prs.getSlides().get(0);
int slideCount = prs.getSlides().size();

Πώς μπορώ να προσθέσω μια δεύτερη διαφάνεια;

Χρησιμοποιήστε prs.getSlides().addEmptySlide() με διάταξη:

try (Presentation prs = new Presentation()) {
    ILayoutSlide layout = prs.getLayoutSlides().get(0);
    prs.getSlides().addEmptySlide(layout);
    ISlide slide2 = prs.getSlides().get(1);
    prs.save("two-slides.pptx", SaveFormat.PPTX);
}

Πώς μπορώ να ορίσω το χρώμα φόντου της διαφάνειας;

Το χρώμα φόντου της διαφάνειας δεν υποστηρίζεται σε αυτήν την έκδοση του Aspose.Slides FOSS. Δεν υπάρχει μέθοδος getBackground() στο ISlide ή σε οποιαδήποτε άλλη κλάση σε αυτή τη βιβλιοθήκη. Το φόντο της διαφάνειας είναι σταθερό όταν η παρουσίαση δημιουργείται από το πρότυπό της. Μια μελλοντική έκδοση μπορεί να προσθέσει έλεγχο φόντου.


Πώς χρησιμοποιώ NullableBool?

NullableBool είναι ένας τρι‑κατάστασης enum που χρησιμοποιείται για ιδιότητες μορφοποίησης. Χρησιμοποιήστε το NullableBool.TRUE (όχι το true της Java) για έντονη, πλάγια και παρόμοιες ιδιότητες:

import org.aspose.slides.foss.NullableBool;

fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.FALSE);

Γιατί η ρύθμιση του χρώματος του κειμένου δεν έχει καμία επίδραση;

Πρέπει επίσης να ορίσετε το fillType σε FillType.SOLID πριν από την ανάθεση του χρώματος:

import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;

fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(Color.fromArgb(255, 200, 0, 0));

Μπορώ να χρησιμοποιήσω διαγράμματα ή SmartArt;

Όχι. Διαγράμματα, SmartArt, αντικείμενα OLE, κινούμενα σχέδια, μεταβάσεις, υπερσυνδέσεις, μακροεντολές VBA και ψηφιακές υπογραφές δεν υλοποιούνται σε αυτήν την έκδοση και προκαλούν UnsupportedOperationException.


Η βιβλιοθήκη είναι ασφαλής ως προς τα νήματα;

Κάθε Presentation αντικείμενο είναι ανεξάρτητο. Η δημιουργία και χρήση ξεχωριστών Presentation στιγμιοτύπων από ξεχωριστά νήματα είναι ασφαλής, εφόσον δεν μοιράζεστε ένα μόνο Presentation αντικείμενο μεταξύ νημάτων χωρίς εξωτερικό συγχρονισμό.


Πώς ενσωματώνω μια εικόνα;

Διαβάστε τα byte της εικόνας και προσθέστε τα στο prs.getImages(), στη συνέχεια δημιουργήστε ένα PictureFrame:

import org.aspose.slides.foss.ShapeType;

byte[] imageData = java.nio.file.Files.readAllBytes(
    java.nio.file.Paths.get("logo.png")
);
IPPImage image = prs.getImages().addImage(imageData);
slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 200, 150, image);

Δείτε επίσης

 Ελληνικά