Apache POI HSLF
Java Library for Microsoft® PPT Presentation File Formats
Přidejte snímky a obrázky do prezentací, převádějte soubory PPT pomocí open-source Free Java API.
Co je Apache POI HSLF?
Apache POI HSLF je čistě Java implementace pro čtení, vytváření, úpravy nebo vykreslování prezentací v PowerPointu. Poskytuje způsob, jak číst, vytvářet nebo upravovat prezentace PowerPoint ve formátu PPT. Poskytuje podporu pro extrahování dat, jako je text, obrázky, zvuky, vložené objekty a mnoho dalšího z prezentací PowerPoint.
Podporuje také kreslení tvaru na snímku, přidávání hypertextových odkazů, tabulek, obrázků, přizpůsobení záhlaví a zápatí, vytváření seznamů s odrážkami, načítání vložených zvuků a mnoho dalšího.
Začínáme s Apache POI HSLF
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-scratchpad</artifactId>
<version>4.1.0</version>
</dependency>
Dynamicky vytvářejte nové PPT nebo upravujte existující prezentace
Apache POI HSLF umožňuje programátorům vytvářet nové PowerPointové prezentace ve formátech souborů PPT. Vývojáři mohou také transformovat stávající prezentaci podle svých potřeb. API také podporuje funkce pro extrahování dat, jako je text, obrázky, zvuky, vložené objekty atd. z prezentací PowerPoint.
Vytvořte soubor PPT - Java
// create a new PPT file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slide.ppt"));
// create a new slide show
HSLFSlideShow xmlSlideShow = new HSLFSlideShow();
// save file
xmlSlideShow.write(fileOutputStream);
Přidejte snímky, obrázky a přizpůsobte záhlaví a zápatí do PPT
Vývojáři mohou snadno přidávat nové snímky a upravovat stávající podle vlastních potřeb v rámci prezentace PPT pomocí Apache HSLF API. Vývojáři nyní mohou do svých prezentací přidávat přizpůsobená záhlaví a zápatí. Poskytuje také kompletní podporu pro přidání názvu snímku, vytvoření snímku s předdefinovaným rozložením, práci s pozadím snímku/tvaru a mnoho dalšího.
Vkládání obrázků do PPT přes Java
- Vytvořte nový soubor PPT pomocí FileOutputStream a předejte instanci new File() s výstupním názvem souboru jako řetězcem
- Přidejte novou prezentaci pomocí metody HSLFSlideShow().
- Přidejte nový snímek pomocí metody createSlide().
- Získejte bajty obrázku pomocí metody IOUtils.toByteArray() a předejte do něj svůj obrázek pomocí metody FileInputStream()
- Přidejte obrázek na snímek pomocí metody hslfSlideShow.addPicture(obrázek, HSLFPictureData.PictureType.PNG). Metoda přijímá bajty obrázku a typ obrázku jako argumenty
- Zapište a uložte soubor
Přidat obrázek v PPT - Java
// create a new PPT file
FileOutputStream fileOutputStream = new FileOutputStream(new File("AddImage.ppt"));
// create a new slide show
HSLFSlideShow hslfSlideShow = new HSLFSlideShow();
// create slide
HSLFSlide slide = hslfSlideShow.createSlide();
// load image
byte[] picture = IOUtils.toByteArray(new FileInputStream(new File("apache-poi-logo-min.png")));
// add image
HSLFPictureData hslfPictureData = hslfSlideShow.addPicture(picture, HSLFPictureData.PictureType.PNG);
HSLFPictureShape pictureShape = slide.createPicture(hslfPictureData);
// save file
hslfSlideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();
Převeďte snímky do obrazových formátů pomocí Java API
Apache POI HSLF API umožňuje vývojářům softwaru převést každý snímek prezentace v PowerPointu do formátu obrázkového souboru v jejich aplikacích Java. Snímky můžete zachytit do objektu java.awt.Graphics2D (nebo jakéhokoli jiného) a serializovat je do formátu PNG nebo JPEG. Podporované obrázky mohou být ve formátu JPEG, PNG, DIB atd.
Převést PPT na obrázek - Java
//open an existing PPT file
HSLFSlideShow hslfSlideShow = new HSLFSlideShow(new FileInputStream(new File("PPTtoImage.ppt")));
// get dimensions
Dimension pgsize = hslfSlideShow.getPageSize();
java.util.List slide = hslfSlideShow.getSlides();
for (int i = 0; i < slide.size(); i++) {
BufferedImage img = new BufferedImage(pgsize.width, pgsize.height,BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = img.createGraphics();
// clear the drawing area
graphics.setPaint(Color.white);
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
// render
slide.get(i).draw(graphics);
// create image
FileOutputStream out = new FileOutputStream("PPTtoImage.png");
javax.imageio.ImageIO.write(img, "png", out);
out.close();
}