Į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.
| Formatas | Plėtinys | Rašymas |
|---|---|---|
| PPTX | .pptx | Taip |
| PPTM | .pptm | Taip |
| PPSX | .ppsx | Taip |
| PPSM | .ppsm | Taip |
| POTX | .potx | Taip |
| POTM | .potm | Taip |
| ODP | .odp | Taip |
| OTP | .otp | Taip |
| FODP | .fodp | Taip |
| PPT | .ppt | Taip |
| PPS | .pps | Taip |
| POT | .pot | Taip |
| Taip | ||
| XPS | .xps | Taip |
| HTML | .html | Taip |
| HTML5 | .html | Taip |
| SVG | .svg | Taip |
| TIFF | .tiff | Taip |
| PNG | .png | Taip |
| JPEG | .jpeg | Taip |
| BMP | .bmp | Taip |
| GIF | .gif | Taip |
| MD | .md | Taip |
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