Savybės ir galimybės

Savybės ir galimybės

Aspose.Slides FOSS for Java suteikia platų galimybių rinkinį programiškai dirbti su PowerPoint .pptx failais. Šiame puslapyje pateikiamos visos palaikomos funkcijų sritys su atitinkamais kodo pavyzdžiais.


Pateikties Į/I

Atidarykite esamą .pptx failą arba sukurkite naują, tada išsaugokite jį atgal PPTX formatu.

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

Pastaba: PPTX yra vienintelis palaikomas išsaugojimo formatas. Eksportavimas į PDF, HTML, SVG arba į vaizdus nėra prieinamas.

Nežinomos XML dalys šaltinio faile išsaugomos nepakitusiomis, todėl atvėrus ir išsaugojus .pptx niekada nebus pašalintas turinys, kurio biblioteka dar nesupranta.


Skaidrių valdymas

Pridėkite, pašalinkite, klonuokite ir pertvarkykite skaidres.

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

Figūros

Pridėkite AutoShapes, PictureFrames, Tables ir Connectors į skaidrę.

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

Lentelės

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

Jungikliai

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

Teksto formatavimas

Formatuokite tekstą pastraipos ir simbolio lygiu naudodami 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 nustato savybę aiškiai; NullableBool.NOT_DEFINED paveldi iš skaidrių pagrindo.


Užpildymo tipai

Taikykite vientisą, gradientinį, rašto arba paveikslėlio užpildą formoms.

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

Vizualiniai efektai

Taikykite išorinį šešėlį, švytėjimą, minkštą kraštą, išblykimą, atspindį ir vidinį šešėlį figūroms.

Efekto savybės yra prieinamos per shape.getEffectFormat(). Iškvieskite enableOuterShadowEffect(), enableGlowEffect(), enableSoftEdgeEffect(), setBlurEffect(radius, grow), enableReflectionEffect() arba enableInnerShadowEffect(), kad konfigūruotumėte kiekvieną atskirai.


3D formatavimas

Taikykite 3D nuolydį, kamerą, apšvietimo įrangą, medžiagą ir išskyrimo gylį per shape.getThreeDFormat(). Tai valdo vizualinį gylį ir apšvietimo modelį formų atvaizdavimui PPTX peržiūros programose, kurios palaiko 3D efektus.


Kalbėtojo pastabos

Pridėkite pastabas prie bet kurios skaidrės naudodami 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);
}

Komentarai

Pridėkite gijų komentarus su autoriaus informacija ir skaidrės padėtimi.

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

Įterpti paveikslėliai

Įterpkite paveikslėlį iš failo į pristatymą ir pridėkite jį į skaidrę kaip 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);
}

Dokumento savybės

Skaityti ir rašyti pagrindines, programos ir pasirinktines dokumento savybes.

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

Žinomi apribojimai

Šios sritys sukelia UnsupportedOperationException ir nėra prieinamos šioje leidimo versijoje:

SritisBūsena
DiagramosNeįgyvendinta
SmartArtNeįgyvendinta
Animacijos ir perėjimaiNeįgyvendinta
PDF / HTML / SVG / vaizdo eksportavimasNeįgyvendinta (tik PPTX)
VBA makrokomandosNeįgyvendinta
Skaitmeniniai parašaiNeįgyvendinta
Hipernuorodos ir veiksmų nustatymaiNeįgyvendinta
OLE objektaiNeįgyvendinta
Matematinis tekstasNeįgyvendinta

Žr. taip pat

 Lietuvių