4)插入图片,支持多种格式
picIndex = ppt.addPicture(new File(“img/img.jpg”), Picture.JPEG);
Picture jpg = new Picture(picIndex);
jpg.setAnchor(new java.awt.Rectangle(360, 200, 280, 260)); //set image position in the slide
newSlide.addShape(jpg);
5)插入表格
String[][] datas = { { “序号”, “姓名”, “年龄” }, { “1”, “张三”, “30” },
{ “2”, “李四”, “27” } };
Table table = new Table(3, 3); // create a table of 3 rows and 3
// columnsTable
for (int i = 0; i < datas.length; i++) {
for (int j = 0; j < datas[i].length; j++) {
TableCell cell = table.getCell(i, j);
RichTextRun rt = cell.getTextRun().getRichTextRuns()[0];
rt.setFontName(“宋体”);
rt.setFontSize(12);
cell.setVerticalAlignment(TextBox.AnchorMiddle);
cell.setHorizontalAlignment(TextBox.AlignCenter);
cell.setText(datas[i][j]);
if (i == 0) {
cell.setFillColor(Color.GRAY);// 首行背景设置为灰色
}
}
}
Line border = table.createBorder();
border.setLineColor(Color.black);
border.setLineWidth(2.0);
table.setAllBorders(border);
newSlide.addShape(table);
table.moveTo(160, 260);
6)如果是读取已存在的PPT文档则还要用到HSLFSlideShow,下面代码将PPT文件导出为图片(png)格式,如果幻灯片上有中文字符则这些字符的字体需要修改为支持中文的字体(宋体等),否则导出的图片的中文字符不能正常显示
SlideShow ppt = new SlideShow(new HSLFSlideShow(“d:/test/test.ppt”));
Dimension pgsize = ppt.getPageSize();
Slide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
BufferedImage img = new BufferedImage(pgsize.width, pgsize.height,BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = img.createGraphics();
graphics.setPaint(Color.white);// clear the drawing area
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width,
pgsize.height));
slide[i].draw(graphics);
FileOutputStream out = new FileOutputStream(“png/slide-” + (i + 1)
- “.png”);
javax.imageio.ImageIO.write(img, “png”, out);
out.close();
7)提取PPT文档信息
SlideShow ppt = new SlideShow(new HSLFSlideShow(“ppt/testppt.ppt”));
Slide[] slides = ppt.getSlides();// 提取文本信息
for (Slide each : slides) {
Sy 需要zi料+ 绿色徽【vip1024b】
stem.out.println(each.getTitle());
TextRun[] textRuns = each.getTextRuns();
for (int i = 0; i < textRuns.length; i++) {
System.out.println(textRuns[i].getText());
RichTextRun[] richTextRuns = textRuns[i].getRichTextRuns();
for (int j = 0; j < richTextRuns.length; j++) {
System.out.println(richTextRuns[j].getText());
}
}
}// 提取所有JPEG图片
PictureData[] picDatas = ppt.getPictureData();
for (int i = 0; i < picDatas.length; i++) {
if (picDatas[i].getType() == Picture.PNG) {
FileOutputStream out = new FileOutputStream(“jpg/jpg_” + i + “.jpg”);
ppt.write(out);
out.close();
}
}
8)设置PPT文档摘要信息(文档点击鼠标右键查看属性)
最后
看完上述知识点如果你深感Java基础不够扎实,或者刷题刷的不够、知识不全面
小编专门为你量身定制了一套<Java一线大厂高岗面试题解析合集:JAVA基础-中级-高级面试+SSM框架+分布式+性能调优+微服务+并发编程+网络+设计模式+数据结构与算法>
针对知识面不够,也莫慌!还有一整套的<Java核心进阶手册>,可以瞬间查漏补缺
全都是一丢一丢的收集整理纯手打出来的
更有纯手绘的各大知识体系大纲,可供梳理:Java筑基、MySQL、Redis、并发编程、Spring、分布式高性能架构知识、微服务架构知识、开源框架知识点等等的xmind手绘图~
手打出来的
更有纯手绘的各大知识体系大纲,可供梳理:Java筑基、MySQL、Redis、并发编程、Spring、分布式高性能架构知识、微服务架构知识、开源框架知识点等等的xmind手绘图~
[外链图片转存中…(img-p0kLRvh8-1710364263020)]
[外链图片转存中…(img-7t65NWQd-1710364263020)]