java - 如何使用apache poi为幻灯片设置不同的幻灯片过渡效果
问题描述
我最近在做一个功能,用于apache poi
导出powerpoint
,我想为幻灯片设置不同的幻灯片过渡效果,但是我在 中找不到任何方法apache api
,有没有人做过这样的事情?
请告诉我,谢谢!
我的英文不是很好。我希望你能读到它。XD
解决方案
到目前为止,还没有在XSLFSlide和XSLFSheet中设置过渡。所以我们需要使用底层的底层对象 ooxml-schemas-1.4
。不幸的是,没有可供ooxml-schemas
公众使用的文档。这就是为什么我们需要下载源代码并javadoc
从中进行操作。
然后我们发现CTSlide
有addNewTransition()
并且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();
}
}
推荐阅读
- python - 烧瓶 http://0.0.0.0:5000/ 无法访问
- java - InheritableThreadLocal 如何为实例变量线程工作?
- java - 如何根据 Kafka SeekToCurrentErrorHandler 中的异常类型设置更改重试次数?
- data-structures - 找到 AVL 树的最小“内部”节点?
- c# - 循环通过 Regex.MatchCollection (C#) 时出现空警告
- javascript - 在 JavaScript 中解析嵌套的 JSON 数据
- jupyter-notebook - 在 Binder 上使用 Viola 和 jupyter notebook 会出错
- linux - 无法安装最新版本
- scala - 无形 HList 返回类型
- swift - SwiftUI - 如何使用异步操作更改同步值