我的是openjdk 1.8,Linux
例子ppt放在这里了
https://netcut.cn/1go074ini
588260c7-8830-49b0-8e9a-614154fff84e.pptx 只能截0~12,后面卡死
b50860f6-23d1-4242-bd1b-0a71580babef.pptx 只能截0~6,后面卡死
061425e2-44d6-4817-9a74-b1de345e76b9.ppt 只能截0~4,后面卡死
线程栈如下:
- Code: Select all
"main" Id=1 cpuUsage=99.98% deltaTime=200ms time=25708012ms RUNNABLE
at com.spire.presentation.packages.sprhyn.spr▍–(Unknown Source)
at com.spire.presentation.PictureShape.spr┹┻(Unknown Source)
at com.spire.presentation.packages.sprpho.spr■┣(Unknown Source)
at com.spire.presentation.packages.sprpho.spr■┣(Unknown Source)
at com.spire.presentation.packages.sprpho.spr■┣(Unknown Source)
at com.spire.presentation.packages.sprpho.spr┫┣(Unknown Source)
at com.spire.presentation.packages.sprpho.<init>(Unknown Source)
at com.spire.presentation.packages.sprssn.<init>(Unknown Source)
at com.spire.presentation.packages.sprlkp.spr┵┸(Unknown Source)
at com.spire.presentation.packages.sprlkp.spr▀┸(Unknown Source)
at com.spire.presentation.packages.sprlkp.spr─⌨(Unknown Source)
at com.spire.presentation.packages.sprkbp.spr─⌨(Unknown Source)
at com.spire.presentation.packages.sprkxm.spr╸┚(Unknown Source)
at com.spire.presentation.packages.sprune.spr▥≇(Unknown Source)
at com.spire.presentation.packages.sprune.spr─⌨(Unknown Source)
at com.spire.presentation.GroupShape.spr─⌨(Unknown Source)
at com.spire.presentation.GroupShape.spr─⌨(Unknown Source)
at com.spire.presentation.packages.sprdlp.spr‱┹(Unknown Source)
at com.spire.presentation.packages.sprdlp.spr︴┹(Unknown Source)
at com.spire.presentation.packages.sprdlp.sprㆀ┸(Unknown Source)
at com.spire.presentation.packages.sprdlp.spr⅛┬(Unknown Source)
at com.spire.presentation.packages.sprdlp.saveAsImage(Unknown Source)
at com.yuanfudao.metis.live.ppt.service.PPTServiceImpl.processThumbnails(PPTServiceImpl.java:225)
at Main.processThumbnails(Main.java:38)
at Main.main(Main.java:71)
如下重现代码
- Code: Select all
Presentation ppt = new Presentation();
ppt.loadFromStream(in, FileFormat.AUTO);
// all slides
for (int i = 0; i < ppt.getSlides().size(); i++) {
ISlide slide = ppt.getSlides().get(i);
// 转为缩略图,按照目标宽高等比例转化
BufferedImage img = slide.saveAsImage();
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(img, THUMBNAIL_FORMAT, os);
byte [] byttes = i, os.toByteArray();
}