Značajke i mogućnosti

Značajke i mogućnosti

Aspose.Slides FOSS za Java pruža širok skup mogućnosti za rad s PowerPoint .pptx datotekama programatski. Ova stranica navodi sva podržana područja značajki s reprezentativnim primjerima koda.


Prezentacija I/O

Otvorite postojeću .pptx datoteku ili kreirajte novu, a zatim je spremite natrag u PPTX format.

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);
}

Napomena: PPTX je jedini podržani format za spremanje. Izvoz u PDF, HTML, SVG ili slike nije dostupan.

Nepoznati XML dijelovi u izvornom datoteci čuvaju se doslovno pri spremanju, pa otvaranje i ponovno spremanje .pptx nikada neće ukloniti sadržaj koji biblioteka još ne razumije.


Upravljanje slajdovima

Dodaj, ukloni, kloniraj i promijeni redoslijed slajdova.

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);
}

Oblici

Dodajte AutoShapes, PictureFrames, Tables i Connectors na slajd.

AutoShapes

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);
}

Tablice

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);
}

Konektori

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);
}

Formatiranje teksta

Formatirajte tekst na razini odlomka i znakova koristeći 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 postavlja svojstvo izričito; NullableBool.NOT_DEFINED nasljeđuje od master slajda.


Vrste ispune

Primijenite jednobojne, gradijentne, uzorkovane ili slikovne ispune na oblike.

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);
}

Vizualni efekti

Primijenite vanjsku sjenu, sjaj, mekani rub, zamućenje, refleksiju i unutarnju sjenu na oblike.

Svojstva efekta dostupna su putem shape.getEffectFormat(). Pozovite enableOuterShadowEffect(), enableGlowEffect(), enableSoftEdgeEffect(), setBlurEffect(radius, grow), enableReflectionEffect() ili enableInnerShadowEffect() da biste svako konfigurirali neovisno.


3D Formatiranje

Primijenite 3D kosinu, kameru, rasvjetni sustav, materijal i dubinu izbočenja putem shape.getThreeDFormat(). Ovo kontrolira vizualnu dubinu i model osvjetljenja za prikazivanje oblika u PPTX preglednicima koji podržavaju 3D efekte.


Bilješke za govornika

Dodajte bilješke na bilo koji slajd koristeći 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);
}

Komentari

Dodajte ugniježdene komentare s informacijama o autoru i položajem slajda.

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);
}

Ugrađene slike

Umetnite sliku iz datoteke u prezentaciju i dodajte je na slajd kao 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);
}

Svojstva dokumenta

Čitanje i pisanje osnovnih, aplikacijskih i prilagođenih svojstava dokumenta.

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);
}

Poznate ograničenja

Sljedeća područja podižu UnsupportedOperationException i nisu dostupna u ovoj ediciji:

PodručjeStatus
GrafikoniNije implementirano
SmartArtNije implementirano
Animacije i prijelaziNije implementirano
PDF / HTML / SVG / izvoz slika (samo PPTX)Nije implementirano
VBA makroiNije implementirano
Digitalni potpisiNije implementirano
Hiperveze i postavke radnjiNije implementirano
OLE objektiNije implementirano
Matematički tekstNije implementirano

Vidi također

 Hrvatski