1. Товары
  2.   Презентация
  3.   Java
  4.   Apache POI XSLF  

Apache POI XSLF  

 
 

Java API с открытым исходным кодом для презентаций PPTX

Создавайте, редактируйте и объединяйте презентации Microsoft PowerPoint OOXML с помощью библиотеки Java.

Apache POI XLSF — это реализация Java для чтения, создания или редактирования файлов PowerPoint PPTX. Он предоставляет необходимые функции для работы с форматом файлов PowerPoint 2007 OOXML, позволяя разработчикам извлекать данные, такие как текст, изображения, встроенные объекты и многое другое, из презентаций PowerPoint PPTX. Разработчики также могут добавлять на слайд фигуры, управлять гиперссылками и изображениями, добавлять видео и преобразовывать PPTX в SVG.

Previous Next

Начало работы с Apache POI XLSF

Прежде всего, в вашей системе должен быть установлен Java Development Kit (JDK). Если он у вас уже есть, перейдите на страницу загрузки Apache POI, чтобы получить последнюю стабильную версию в архиве. Извлеките содержимое ZIP-файла в любой каталог, откуда необходимые библиотеки могут быть связаны с вашей программой Java. Это все!

Ссылка на Apache POI в вашем Java-проекте на основе Maven еще проще. Все, что вам нужно, это добавить следующую зависимость в ваш pom.xml и позволить вашей среде IDE извлекать и ссылаться на файлы Jar Apache POI.

Зависимость 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 для создания новых презентаций и добавления слайдов в существующий файл

Apache POI XLSF позволяет программистам создавать новые презентации PowerPoint в формате файла PPTX с нуля. Разработчики также могут преобразовать существующую презентацию в соответствии со своими потребностями. Он предоставляет возможность читать и изменять существующие презентации, а также добавлять слайды к существующей презентации в соответствии с их потребностями.

Создать презентацию и добавить слайд — 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);

Создайте новый слайд из предопределенного макета слайда в приложениях Java

API Apache POI XLSF включает поддержку добавления новых слайдов из предопределенного макета слайдов внутри презентации PPTX. Макеты слайдов содержат поля форматирования, расположения и заполнители для всего содержимого, отображаемого на слайде. Презентации PowerPoint имеют несколько макетов слайдов; в первую очередь нужно посмотреть, какие макеты слайдов доступны для использования. Существуют разные образцы слайдов, и в каждом образце слайдов есть несколько макетов слайдов. 

Слайд с макетом заголовка — 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();

Объединение нескольких презентаций PPTX с помощью Java

У вас есть несколько презентаций PPTX, которые вы хотите объединить в одну презентацию? API-интерфейсы Apache POI XLSF, безусловно, могут помочь вам и позволяют разработчикам Java объединять свои несколько файлов PPTX.

Объединить слайды презентации — 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();
 Русский