Apache POI XSLF
Open Source Java API pro prezentace PPTX
Vytvářejte, upravujte a slučujte prezentace Microsoft PowerPoint OOXML prostřednictvím knihovny Java.
Apache POI XLSF je implementace Java pro čtení, vytváření nebo úpravu souborů PowerPoint PPTX. Poskytuje nezbytnou funkcionalitu pro práci se souborovým formátem PowerPoint 2007 OOXML a umožňuje vývojářům extrahovat data, jako je text, obrázky, vložené objekty a další, z prezentací PowerPoint PPTX. Vývojáři mohou také přidávat tvary na snímek, spravovat hypertextové odkazy a obrázky, přidávat videa a převádět PPTX na SVG.
Začínáme s Apache POI XLSF
Nejprve musíte mít na svém systému nainstalovanou sadu Java Development Kit (JDK). Pokud jej již máte, přejděte na stránku stažení místa zájmu Apache, kde získáte nejnovější stabilní verzi v archivu. Extrahujte obsah souboru ZIP do libovolného adresáře, odkud lze požadované knihovny propojit s vaším programem Java. To je vše!
Odkazování na Apache POI ve vašem projektu Java založeném na Maven je ještě jednodušší. Vše, co potřebujete, je přidat následující závislost do vašeho pom.xml a nechat vaše IDE načíst a odkazovat na soubory Apache POI Jar.
Závislost na Apache POI Maven
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
Java API pro vytváření nových prezentací a připojení snímku k existujícímu souboru
Apache POI XLSF umožňuje počítačovým programátorům vytvářet nové PowerPointové prezentace ve formátu PPTX od začátku. Vývojáři mohou také transformovat stávající prezentaci podle svých potřeb. Poskytuje možnost číst a upravovat existující prezentace a také přidávat snímky k existující prezentaci podle jejich potřeby.
Vytvořit prezentaci a přidat snímek - Java
// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slide.pptx"));
// create a new slide show
XMLSlideShow xmlSlideShow = new XMLSlideShow();
// save file
xmlSlideShow.write(fileOutputStream);
Vytvořte nový snímek z předdefinovaného rozvržení snímku v Java Apps
Apache POI XLSF API obsahuje podporu pro přidávání nových snímků z předdefinovaného rozložení snímků v rámci prezentace PPTX. Rozvržení snímků obsahují formátování, umístění a zástupná pole pro veškerý obsah, který se na snímku zobrazuje. PowerPointové prezentace mají několik rozložení snímků; nejprve se musíte podívat, která rozložení snímků jsou k dispozici pro použití. Existují různé předlohy snímků a v každé předloze snímků je několik rozvržení snímků.
Snímek rozložení názvu - Java
// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slidelayout.pptx"));
// create a new slide show
XMLSlideShow xmlSlideShow = new XMLSlideShow();
// initialize slide master object
XSLFSlideMaster xslfSlideMaster = xmlSlideShow.getSlideMasters().get(0);
// set Title layout
XSLFSlideLayout xslfSlideLayout = xslfSlideMaster.getLayout(SlideLayout.TITLE);
// create a new slide with title layout
XSLFSlide xslfSlide = xmlSlideShow.createSlide(xslfSlideLayout);
// select place holder
XSLFTextShape xslfTextShape = xslfSlide.getPlaceholder(0);
// set title
xslfTextShape.setText("Test");
// save file
xmlSlideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();
Sloučit více prezentací PPTX pomocí Java
Máte více PPTX prezentací, které chcete spojit do jedné prezentace? Apache POI XLSF API vám jistě pomohou a umožní vývojářům Java sloučit jejich více souborů PPTX dohromady.
Sloučit snímky prezentace - Java
// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream("MergegSlide.pptx");
// select two PPTX files
String[] inputFiles = {"Slide.pptx", "SlideLayout.pptx"};
// create a new slide show
XMLSlideShow slideShow = new XMLSlideShow();
// merge slides
for(String file : inputFiles){
FileInputStream inputstream = new FileInputStream(file);
XMLSlideShow xmlSlideShow = new XMLSlideShow(inputstream);
for(XSLFSlide srcSlide : xmlSlideShow.getSlides()) {
slideShow.createSlide().importContent(srcSlide);
}
}
// saving file
slideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();