Apache POI HSLF
Бібліотека Java для форматів файлів презентацій Microsoft® PPT
Додавайте слайди та зображення до презентацій, конвертуйте файли PPT за допомогою безкоштовного Java API з відкритим кодом.
Що таке Apache POI HSLF?
Apache POI HSLF — це чиста реалізація Java для читання, створення, зміни або візуалізації презентацій PowerPoint. Він надає спосіб читати, створювати або змінювати презентації PowerPoint у форматі файлу PPT. Він забезпечує підтримку видобування таких даних, як текст, зображення, звуки, вбудовані об’єкти та багато іншого з презентацій PowerPoint.
Він також підтримує малювання фігури на слайді, додавання гіперпосилань, таблиць, зображень, налаштування верхніх і нижніх колонтитулів, створення маркованих списків, отримання вбудованих звуків і багато іншого.
Початок роботи з Apache POI HSLF
Перш за все, у вашій системі має бути встановлено Java Development Kit (JDK). Якщо у вас уже є, перейдіть до сторінки завантаження Apache POI, щоб отримати останню стабільну версію в архіві. Розпакуйте вміст ZIP-файлу в будь-який каталог, звідки потрібні бібліотеки можна зв’язати з вашою програмою Java. Це все!
Посилання на Apache POI у вашому проекті Java на основі Maven ще простіше. Все, що вам потрібно, це додати наступну залежність у ваш pom.xml і дозволити вашій IDE отримувати та посилатися на файли Apache POI Jar.
Залежність 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>
Динамічно створюйте нові PPT або змінюйте наявні презентації
Apache POI HSLF дозволяє програмістам створювати нові презентації PowerPoint у форматах файлів PPT. Розробники також можуть трансформувати наявну презентацію відповідно до своїх потреб. API також підтримує функції для вилучення таких даних, як текст, зображення, звуки, вбудовані об’єкти тощо з презентацій PowerPoint.
Створіть файл 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);
Додайте слайди, зображення та налаштуйте верхній і нижній колонтитули в PPT
Розробники можуть легко додавати нові слайди та змінювати наявні відповідно до власних потреб у PPT-презентації за допомогою Apache HSLF API. Тепер розробники можуть додавати власні колонтитули до своїх презентацій. Він також забезпечує повну підтримку додавання заголовка до слайда, створення слайда з попередньо визначеним макетом, роботи з фоном слайда/фігури та багато іншого.
Вставте зображення в PPT через Java
- Створіть новий файл PPT за допомогою FileOutputStream і передайте екземпляр new File() із вихідним ім’ям файлу як рядок
- Додайте нове слайд-шоу за допомогою методу HSLFSlideShow().
- Додайте новий слайд за допомогою методу createSlide().
- Отримайте байти зображення за допомогою методу IOUtils.toByteArray() і передайте своє зображення в нього за допомогою методу FileInputStream().
- Додайте зображення до слайда за допомогою методу hslfSlideShow.addPicture(picture, HSLFPictureData.PictureType.PNG). Метод приймає байти зображення та тип зображення як аргументи
- Запишіть і збережіть файл
Додати зображення в 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();
Перетворення слайдів у формати зображень за допомогою Java API
Apache POI HSLF API дозволяє розробникам програмного забезпечення перетворювати кожен слайд презентації PowerPoint у формат файлу зображення у своїх програмах Java. Ви можете захоплювати слайди в об’єкт java.awt.Graphics2D (або будь-який інший) і серіалізувати його у форматі PNG або JPEG. Підтримувані зображення можуть бути у форматах JPEG, PNG, DIB тощо.
Перетворення PPT на зображення - 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();
}