Χαρακτηριστικά και Δυνατότητες

Χαρακτηριστικά και Δυνατότητες

Χαρακτηριστικά και Δυνατότητες

Το Aspose.Slides FOSS for Java παρέχει ένα ευρύ σύνολο δυνατοτήτων για την εργασία με αρχεία PowerPoint .pptx προγραμματιστικά. Αυτή η σελίδα καταγράφει όλες τις υποστηριζόμενες περιοχές λειτουργιών με αντιπροσωπευτικά παραδείγματα κώδικα.


Παρουσίαση I/O

Ανοίξτε ένα υπάρχον αρχείο .pptx ή δημιουργήστε ένα νέο, στη συνέχεια αποθηκεύστε ξανά σε μορφή PPTX.

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

// Open an existing presentation
try (Presentation prs = new Presentation("input.pptx")) {
    System.out.println("Slide count: " + prs.getSlides().size());
    prs.save("output.pptx", SaveFormat.PPTX);
}

// Create a new presentation (starts with one blank slide)
try (Presentation prs = new Presentation()) {
    prs.save("new.pptx", SaveFormat.PPTX);
}

Σημείωση: Το PPTX είναι η μόνη υποστηριζόμενη μορφή αποθήκευσης. Η εξαγωγή σε PDF, HTML, SVG ή εικόνες δεν είναι διαθέσιμη.

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


Διαχείριση Διαφανειών

Προσθέστε, αφαιρέστε, κλωνοποιήστε και αναδιατάξτε τις διαφάνειες.

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

try (Presentation prs = new Presentation()) {
    // Access the first slide
    var slide = prs.getSlides().get(0);

    // Add an additional blank slide at the end
    prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));

    System.out.println("Total slides: " + prs.getSlides().size());
    prs.save("multi-slide.pptx", SaveFormat.PPTX);
}

Σχήματα

Προσθέστε AutoShapes, PictureFrames, Tables και Connectors σε μια διαφάνεια.

Αυτόματα σχήματα

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

try (Presentation prs = new Presentation()) {
    var slide = prs.getSlides().get(0);
    // Add a rectangle at (x=50, y=50) with width=300, height=100
    var shape = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 50, 300, 100);
    shape.addTextFrame("Aspose.Slides FOSS");
    prs.save("shapes.pptx", SaveFormat.PPTX);
}

Πίνακες

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

try (Presentation prs = new Presentation()) {
    var slide = prs.getSlides().get(0);
    // Column widths and row heights in points
    double[] colWidths = {120.0, 120.0, 120.0};
    double[] rowHeights = {40.0, 40.0, 40.0};
    var table = slide.getShapes().addTable(50, 50, colWidths, rowHeights);
    table.getRows().get(0).get(0).getTextFrame().setText("Product");
    table.getRows().get(0).get(1).getTextFrame().setText("Quantity");
    table.getRows().get(0).get(2).getTextFrame().setText("Price");
    prs.save("table.pptx", SaveFormat.PPTX);
}

Συνδέτες

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

try (Presentation prs = new Presentation()) {
    var slide = prs.getSlides().get(0);
    var box1 = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 100, 150, 60);
    var box2 = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 350, 100, 150, 60);
    var conn = slide.getShapes().addConnector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10);
    conn.setStartShapeConnectedTo(box1);
    conn.setStartShapeConnectionSiteIndex(3);  // right side
    conn.setEndShapeConnectedTo(box2);
    conn.setEndShapeConnectionSiteIndex(1);    // left side
    prs.save("connector.pptx", SaveFormat.PPTX);
}

Μορφοποίηση Κειμένου

Διαμορφώστε το κείμενο σε επίπεδο παραγράφου και χαρακτήρα χρησιμοποιώντας PortionFormat.

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;
import org.aspose.slides.foss.export.SaveFormat;

try (Presentation prs = new Presentation()) {
    var slide = prs.getSlides().get(0);
    var shape = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 50, 500, 150);
    var tf = shape.addTextFrame("Bold blue heading");

    var 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(Color.fromArgb(255, 0, 70, 127));

    prs.save("text.pptx", SaveFormat.PPTX);
}

NullableBool.TRUE ορίζει την ιδιότητα ρητά; NullableBool.NOT_DEFINED κληρονομεί από το master διαφάνειας.


Τύποι γεμίσματος

Εφαρμόστε συμπαγείς, διαβαθμισμένες, μοτίβου ή εικόνας γεμίσεις σε σχήματα.

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;
import org.aspose.slides.foss.export.SaveFormat;

try (Presentation prs = new Presentation()) {
    var slide = prs.getSlides().get(0);
    var shape = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 50, 300, 150);

    // Solid fill
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor().setColor(Color.fromArgb(255, 30, 120, 200));

    prs.save("fill.pptx", SaveFormat.PPTX);
}

Οπτικά Εφέ

Εφαρμόστε εξωτερική σκιά, λάμψη, απαλό άκρο, θόλωση, αντανάκλαση και εσωτερική σκιά σε σχήματα.

Οι ιδιότητες του εφέ είναι προσβάσιμες μέσω shape.getEffectFormat(). Καλέστε enableOuterShadowEffect(), enableGlowEffect(), enableSoftEdgeEffect(), setBlurEffect(radius, grow), enableReflectionEffect() ή enableInnerShadowEffect() για να διαμορφώσετε καθένα ανεξάρτητα.


Διαμόρφωση 3Δ

Εφαρμόστε 3D καμπυλότητα, κάμερα, σύστημα φωτισμού, υλικό και βάθος εξώθησης μέσω shape.getThreeDFormat(). Αυτό ελέγχει το οπτικό βάθος και το μοντέλο φωτισμού για την απόδοση σχήματος σε προβολείς PPTX που υποστηρίζουν εφέ 3D.


Σημειώσεις ομιλητή

Επισυνάψτε σημειώσεις σε οποιαδήποτε διαφάνεια χρησιμοποιώντας getNotesSlideManager().

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

try (Presentation prs = new Presentation()) {
    var notes = prs.getSlides().get(0).getNotesSlideManager().addNotesSlide();
    notes.getNotesTextFrame().setText("Key talking point: emphasize the ROI benefit.");
    prs.save("notes.pptx", SaveFormat.PPTX);
}

Σχόλια

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

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.drawing.PointF;
import org.aspose.slides.foss.export.SaveFormat;
import java.time.LocalDateTime;

try (Presentation prs = new Presentation()) {
    var author = prs.getCommentAuthors().addAuthor("Jane Smith", "JS");
    var slide = prs.getSlides().get(0);
    author.getComments().addComment(
        "Please verify this data before the presentation.",
        slide,
        new PointF(2.0f, 2.0f),
        LocalDateTime.now()
    );
    prs.save("comments.pptx", SaveFormat.PPTX);
}

Ενσωματωμένες Εικόνες

Ενσωματώστε μια εικόνα από αρχείο στην παρουσίαση και προσθέστε την σε μια διαφάνεια ως PictureFrame.

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
import java.nio.file.Files;
import java.nio.file.Path;

try (Presentation prs = new Presentation()) {
    byte[] imageData = Files.readAllBytes(Path.of("logo.png"));
    var image = prs.getImages().addImage(imageData);
    var slide = prs.getSlides().get(0);
    slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 200, 150, image);
    prs.save("with-image.pptx", SaveFormat.PPTX);
}

Ιδιότητες εγγράφου

Ανάγνωση και εγγραφή βασικών, εφαρμογών και προσαρμοσμένων ιδιοτήτων εγγράφου.

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

try (Presentation prs = new Presentation()) {
    var props = prs.getDocumentProperties();

    // Core properties
    props.setTitle("Q1 Results");
    props.setAuthor("Finance Team");
    props.setSubject("Quarterly Review");
    props.setKeywords("Q1, finance, results");

    // Custom property
    props.setCustomPropertyValue("ReviewedBy", "Legal Team");

    prs.save("deck.pptx", SaveFormat.PPTX);
}

Γνωστοί περιορισμοί

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

ΠεριοχήΚατάσταση
ΔιαγράμματαΔεν έχει υλοποιηθεί
SmartArtΔεν έχει υλοποιηθεί
Κινούμενα σχέδια και μεταβάσειςΔεν έχει υλοποιηθεί
Εξαγωγή PDF / HTML / SVG / εικόναςΔεν έχει υλοποιηθεί (μόνο PPTX)
Μακροεντολές VBAΔεν έχει υλοποιηθεί
Ψηφιακές υπογραφέςΔεν έχει υλοποιηθεί
Υπερσυνδέσεις και ρυθμίσεις ενεργειώνΔεν έχει υλοποιηθεί
Αντικείμενα OLEΔεν έχει υλοποιηθεί
Μαθηματικό κείμενοΔεν έχει υλοποιηθεί

Δείτε επίσης

 Ελληνικά