Εισαγωγή

Aspose.Slides FOSS for Java είναι τώρα διαθέσιμο στο Maven Central: μια δωρεάν, βιβλιοθήκη με άδεια MIT για δημιουργία, ανάγνωση και επεξεργασία αρχείων PowerPoint .pptx εξ ολοκλήρου σε Java, χωρίς εξάρτηση από το Microsoft Office ή οποιοδήποτε ιδιόκτητο runtime.

Η βιβλιοθήκη έχει σχεδιαστεί για προγραμματιστές που χρειάζονται να δημιουργούν ή να χειρίζονται αρχεία παρουσίασης προγραμματιστικά: αυτοματοποιώντας σετ διαφανειών από δεδομένα, εξάγοντας κείμενο και μεταδεδομένα από ανεβασμένα αρχεία PPTX, δημιουργώντας pipelines αναφοράς βασισμένα σε παρουσιάσεις, ή ενσωματώνοντας τη δημιουργία παρουσιάσεων σε εφαρμογές Spring Boot. Επειδή το aspose-slides-foss είναι καθαρή Java, αναπτύσσεται με τον ίδιο τρόπο σε Windows, macOS, Linux και Docker containers.

Κύρια χαρακτηριστικά

  • Πλήρης υποστήριξη πλήρους κύκλου PPTX: Ανοίξτε οποιοδήποτε .pptx αρχείο, τροποποιήστε το περιεχόμενό του και αποθηκεύστε το ξανά χωρίς να χάσετε άγνωστα τμήματα XML που η βιβλιοθήκη δεν καταλαβαίνει ακόμη.
  • Διαχείριση διαφανειών: Προσθέστε, αφαιρέστε και επαναλάβετε τις διαφάνειες χρησιμοποιώντας prs.getSlides()· η παρουσίαση ξεκινά με μία κενή διαφάνεια μετά το new Presentation().
  • AutoShapes, Πίνακες και Συνδέσμους: Εισάγετε σχήματα μέσω slide.getShapes().addAutoShape(), δεδομένα πίνακα μέσω slide.getShapes().addTable() και οπτικούς συνδέσμους μεταξύ σχημάτων μέσω slide.getShapes().addConnector().
  • Μορφοποίηση εμπλουτισμένου κειμένου: Μορφοποιήστε κείμενο σε επίπεδο χαρακτήρα με PortionFormat: μέγεθος γραμματοσειράς, έντονο, πλάγιο, υπογράμμιση και χρώμα ARGB μέσω FillType.SOLID και ColorFormat.
  • Τύποι γεμίσματος: Εφαρμόστε γεμίσματα FillType.SOLID, GRADIENT, PATTERN ή PICTURE σε οποιοδήποτε σχήμα.
  • Οπτικά εφέ: Εξωτερική σκιά, λάμψη, απαλό άκρο, θόλωση, αντανάκλαση και εσωτερική σκιά μέσω shape.getEffectFormat().
  • 3D μορφοποίηση: Λοξότμηση, κάμερα, φωτιστικό σύστημα, υλικό και βάθος εξώθησης μέσω shape.getThreeDFormat().
  • Σημειώσεις ομιλητή: Συνημμένο κείμενο σημειώσεων σε κάθε διαφάνεια μέσω getNotesSlideManager().addNotesSlide().
  • Συζητήσεις σχολίων: Προσθέστε σχόλια με μεταδεδομένα συγγραφέα και θέση διαφάνειας.
  • Ενσωματωμένες εικόνες: Ενσωματώστε από διαδρομή αρχείου, bytes ή InputStream.
  • Ιδιότητες εγγράφου: Διαβάστε και γράψτε βασικές, εφαρμογές και προσαρμοσμένες ιδιότητες.

Ξεκινώντας

Προσθέστε την εξάρτηση Maven. Απαιτείται 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;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

public class HelloSlides {
    public static void main(String[] args) {
        try (Presentation prs = new Presentation()) {
            ISlide slide = prs.getSlides().get(0);
            IAutoShape shape = slide.getShapes().addAutoShape(
                ShapeType.RECTANGLE, 50, 50, 400, 120
            );
            shape.addTextFrame("Hello from Aspose.Slides FOSS!");
            prs.save("hello.pptx");
        }
    }
}

Πάντα χρησιμοποιήστε Presentation μέσα σε ένα μπλοκ try-with-resources· αυτό εξασφαλίζει ότι όλοι οι εσωτερικοί πόροι απελευθερώνονται όταν το μπλοκ τερματίζει.

Παράδειγμα Μορφοποίησης Κειμένου

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 500, 150
    );
    ITextFrame tf = shape.addTextFrame("Bold heading in corporate blue");
    IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
    fmt.setFontHeight(28);
    fmt.setFontBold(NullableBool.TRUE);
    fmt.getFillFormat().setFillType(FillType.SOLID);
    fmt.getFillFormat().getSolidFillColor().setColor(new Color(0, 70, 127));
    prs.save("formatted.pptx");
}

Τρέχουσες περιορισμοί

Οι παρακάτω περιοχές προκαλούν UnsupportedOperationException σε αυτήν την έκδοση:

  • Διαγράμματα, SmartArt και αντικείμενα OLE
  • Κινούμενα σχέδια και μεταβάσεις διαφάνειας
  • Εξαγωγή σε PDF, HTML, SVG ή μορφές εικόνας
  • Υπερσυνδέσεις, ρυθμίσεις ενεργειών, μακροεντολές VBA και ψηφιακές υπογραφές

Άγνωστα τμήματα XML που εντοπίζονται κατά τη φόρτωση διατηρούνται ακριβώς όπως είναι κατά την αποθήκευση, ώστε τα αρχεία PPTX που παράγονται από άλλα εργαλεία να διασχίζουν το κύκλο επεξεργασίας με ασφάλεια.

Δείτε επίσης