Įvadas

Aspose.Slides FOSS for Java yra nemokama, atviro kodo biblioteka, leidžianti Java kūrėjams kurti ir manipuliuoti PowerPoint pristatymais be jokios priklausomybės nuo Microsoft Office. Biblioteka platinama org.aspose.slides.foss pakete ir skirta Java 21 ir naujesnėms versijoms.

Projektas išleistas pagal MIT licenciją, todėl galite jį naudoti tiek asmeniniuose, tiek komerciniuose projektuose nemokamai ir be API rakto. Jis suteikia turtingą objektų modelį skaidrėms, figūroms, tekstui, lentelėms, vaizdams, komentarams ir dokumento savybėms, remiantis tiesioginiu Office Open XML paketo formato manipuliavimu.

Su 273 klasėmis, daugiau nei 2 600 metodų ir 42 enumeracijomis, pagrindinis API apima statybinius blokus, kurių jums reikia automatizuoti pristatymo darbo srautus bet kurioje Java programoje.


Kas įtraukta

Pateikimo gyvavimo ciklas

Presentation klasė yra įėjimo taškas kiekvienai operacijai. Galite sukurti tuščią prezentaciją ir išsaugoti rezultatą diske arba OutputStream įvairiais formatais. Klasė įgyvendina AutoCloseable, todėl ji natūraliai veikia su try‑with‑resources blokais.

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

try (Presentation pres = new Presentation()) {
    // A new presentation starts with one blank slide
    System.out.println("Slides: " + pres.getSlides().size());
    pres.save("output.pptx", SaveFormat.PPTX);
}

Skaidrių valdymas

SlideCollection suteikia visą kontrolę skaidrių rinkiniui. Galite pridėti tuščias skaidres su addEmptySlide(), dubliuoti esamas skaidres su addClone(), įterpti skaidres konkrečiu indeksu su insertEmptySlide(), pašalinti skaidres pagal nuorodą arba indeksą ir iteruoti per kolekciją.

try (Presentation pres = new Presentation()) {
    ILayoutSlide layout = pres.getLayoutSlides().get(0);
    pres.getSlides().addEmptySlide(layout);
    pres.getSlides().addClone(pres.getSlides().get(0));
    System.out.println("Total slides: " + pres.getSlides().size());
}

Figūros ir Autofigūros

AutoShape klasė atstovauja dažniausiai naudojamą piešiamą objektą skaidrėje. Formas kuriate per IShapeCollection.addAutoShape(), nurodydami ShapeType konstantą (pvz., ShapeType.RECTANGLE) ir pozicijos koordinates. Kiekvienas AutoShape atveria TextFrame teksto turiniui ir FillFormat vizualiniam stiliui.

try (Presentation pres = new Presentation()) {
    ISlide slide = pres.getSlides().get(0);
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 300, 100, false);
    ITextFrame tf = shape.addTextFrame("Hello from Aspose.Slides FOSS");
    System.out.println(tf.getText());
}

Tekstas ir pastraipos

Raiškusis tekstas modeliuojamas kaip TextFrame, ParagraphCollection, Paragraph, PortionCollection ir Portion objektų hierarchija. Galite tiesiogiai nustatyti paprastą tekstą kadre naudodami TextFrame.setText(), arba sukurti kelių vykdymų pastraipas pridėdami atskirus Portion egzempliorius su skirtingu formatavimu.

try (Presentation pres = new Presentation()) {
    ISlide slide = pres.getSlides().get(0);
    IAutoShape shape = slide.getShapes()
        .addAutoShape(ShapeType.RECTANGLE, 50, 50, 400, 100, false);
    ITextFrame tf = shape.addTextFrame("First run ");
    Portion extra = new Portion("second run");
    tf.getParagraphs().get(0).getPortions().add(extra);
    System.out.println(tf.getText());
}

Dokumento savybės

DocumentProperties klasė atskleidžia standartinius metaduomenų laukus, tokius kaip pavadinimas, autorius, tema, raktažodžiai, kategorija ir laiko žymės. Savybės išsaugomos PPTX pagrindinėje ir išplėstinėse savybių dalyse ir išlieka per išsaugojimo/įkėlimo ciklus.

try (Presentation pres = new Presentation()) {
    IDocumentProperties props = pres.getDocumentProperties();
    props.setTitle("Quarterly Report");
    props.setAuthor("Engineering Team");
    pres.save("report.pptx", SaveFormat.PPTX);
}

Komentarai ir anotacijos

Komentarų posistemė apima CommentAuthorCollection ir CommentCollection. Galite pridėti autorius, prisegti komentarus prie konkrečių skaidrių ir pozicijų, bei perskaityti esamas anotacijas. Komentarų duomenys saugomi ppt/commentAuthors.xml ir ppt/comments/*.xml PPTX paketo dalyse.


Greitas pradžia

Pridėkite Maven priklausomybę prie savo pom.xml:

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

Tada sukurkite ir išsaugokite pristatymą:

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

public class QuickStart {
    public static void main(String[] args) {
        try (Presentation pres = new Presentation()) {
            ISlide slide = pres.getSlides().get(0);

            // Add a title shape
            IAutoShape title = slide.getShapes().addAutoShape(
                ShapeType.RECTANGLE, 50, 30, 600, 60, false);
            title.addTextFrame("Aspose.Slides FOSS for Java");

            // Add a content shape
            IAutoShape body = slide.getShapes().addAutoShape(
                ShapeType.RECTANGLE, 50, 120, 600, 300, false);
            body.addTextFrame(
                "This presentation was created entirely in Java "
                + "using a free, open-source library.");

            pres.save("quick-start.pptx", SaveFormat.PPTX);
        }
    }
}

Palaikomi formatai

SaveFormat išvardijimas apibrėžia kiekvieną išvesties formatą, kurį biblioteka gali rašyti. Žemiau pateikta lentelė išvardija patvirtintus įrašus.

FormatasPlėtinysRašymas
PPTX.pptxTaip
PPTM.pptmTaip
PPSX.ppsxTaip
PPSM.ppsmTaip
POTX.potxTaip
POTM.potmTaip
ODP.odpTaip
OTP.otpTaip
FODP.fodpTaip
PPT.pptTaip
PPS.ppsTaip
POT.potTaip
PDF.pdfTaip
XPS.xpsTaip
HTML.htmlTaip
HTML5.htmlTaip
SVG.svgTaip
TIFF.tiffTaip
PNG.pngTaip
JPEG.jpegTaip
BMP.bmpTaip
GIF.gifTaip
MD.mdTaip

Aukščiau išvardyti formatai yra patvirtinti eksporto tikslai, apibrėžti SaveFormat enum.


Atviro kodo ir licencijavimas

Aspose.Slides FOSS for Java platinamas pagal MIT licenciją. Pilnas šaltinio kodas prieinamas GitHub adresu Aspose.Slides-FOSS-for-Java. Galite laisvai naudoti, modifikuoti ir platinti biblioteką bet kuriame projekte be autorinių mokėjimų ar licencijos raktų.


Pradžia

Pasiruošę gilintis? Štai ištekliai, kurie padės jums pradėti:

  • Developer Guide – žingsnis po žingsnio vadovai ir mokymai kiekvienai funkcijų sričiai
  • Knowledge Base – praktiniai straipsniai ir dažnai užduodami klausimai
  • API Reference – pilna klasių ir metodų dokumentacija