首页 > 解决方案 > 如何使用apache poi为幻灯片设置不同的幻灯片过渡效果

问题描述

我最近在做一个功能,用于apache poi导出powerpoint,我想为幻灯片设置不同的幻灯片过渡效果,但是我在 中找不到任何方法apache api,有没有人做过这样的事情?
请告诉我,谢谢!

我的英文不是很好。我希望你能读到它。XD

标签: javaapacheapache-poipowerpoint

解决方案


到目前为止,还没有在XSLFSlideXSLFSheet中设置过渡。所以我们需要使用底层的底层对象 ooxml-schemas-1.4。不幸的是,没有可供ooxml-schemas公众使用的文档。这就是为什么我们需要下载源代码javadoc从中进行操作。

然后我们发现CTSlideaddNewTransition()并且CTSlideTransition有不同的过渡元素,例如“blinds”元素、“checker”元素、“circle”元素,......

例子:

import java.io.FileOutputStream;

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.*;

import java.awt.Color;

public class CreatePPTXSheetsTransition {

 public static void main(String[] args) throws Exception {

  XMLSlideShow slideShow = new XMLSlideShow();
  XSLFSlide slide = slideShow.createSlide();
  if (slide.getXmlObject().getCSld().getBg() == null) slide.getXmlObject().getCSld().addNewBg();
  slide.getBackground().setFillColor(Color.BLUE);
  slide.getXmlObject().addNewTransition().addNewDissolve();
  slide = slideShow.createSlide();
  if (slide.getXmlObject().getCSld().getBg() == null) slide.getXmlObject().getCSld().addNewBg();
  slide.getBackground().setFillColor(Color.RED);
  slide.getXmlObject().addNewTransition().addNewWheel().setSpokes(8);

  FileOutputStream out = new FileOutputStream("CreatePPTXSheetsTransition.pptx");
  slideShow.write(out);
  out.close();
 }
}

推荐阅读