ITPub博客

首页 > 应用开发 > > Java 添加、提取PPT中的图片

Java 添加、提取PPT中的图片

作者:fondtiger 时间:2019-08-29 14:14:09 0 删除 编辑

本篇文章将介绍如何通过Java编程来添加图片到PPT幻灯片中的指定位置,以及如何提取PPT幻灯片中已有的图片,包括提取所有幻灯片中的图片、提取指定幻灯片中的图片。

使用工具:Free Spire.Presentation for Java (免费版)

Jar文件导入:

导入方法1:通过官网下载jar包,并解压。在Java程序中导入Spire.Presentation.jar文件。如下图:

导入方法2:通过Maven仓库安装导入,详见导入方法。

Java代码示例(供参考)

【示例1】添加图片到PPT幻灯片

import com.spire.presentation.*;

import com.spire.presentation.drawing.FillFormatType;

import java.awt.geom.Rectangle2D;

public class AddImage {

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

//加载测试文档

Presentation ppt = new Presentation();

ppt.loadFromFile("sample.pptx");

//获取第一张幻灯片

ISlide slide = ppt.getSlides().get(0);

//指定图片在幻灯片中的位置及图片大小

Rectangle2D rec = new Rectangle2D.Double(ppt.getSlideSize().getSize().getWidth() / 2 - 320, 180, 300, 200);

//加载图片添加至幻灯片

IEmbedImage image = slide.getShapes().appendEmbedImage(ShapeType.RECTANGLE, "bg.png", rec);

image.getLine().setFillType(FillFormatType.NONE);

//保存文档

ppt.saveToFile("AddImg.pptx",FileFormat.PPTX_2010);

}

}

图片添加效果:

【示例2】读取PPT幻灯片中的图片

1. 读取所有幻灯片中的图片

import com.spire.presentation.*;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.File;

public class ExtractAllImgs {

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

//加载文档

Presentation ppt = new Presentation();

ppt.loadFromFile("test.pptx");

//提取幻灯片中的所有图片

for (int i = 0; i < ppt.getImages().getCount(); i++) {

BufferedImage image = ppt.getImages().get(i).getImage();

ImageIO.write(image, "PNG", new File(String.format("提取所有图片-%1$s.png", i)));

}

}

}

2.

读取指定幻灯片中的图片

import com.spire.presentation.*;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.File;

public class ExtractSpecifiedImgs{

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

//加载测试文档

Presentation ppt = new Presentation();

ppt.loadFromFile("test.pptx");

//获取第一张幻灯片

ISlide slide = ppt.getSlides().get(0);

//提取图片

for(int i = 0; i< slide.getShapes().getCount(); i++)

{

IShape shape = slide.getShapes().get(i);

if(shape instanceof SlidePicture)

{

SlidePicture pic = (SlidePicture) shape;

BufferedImage image = pic.getPictureFill().getPicture().getEmbedImage().getImage();

ImageIO.write(image, "PNG", new File(String.format("提取指定图片-%1$s.png", i)));

}

if(shape instanceof PictureShape)

{

PictureShape ps = (PictureShape) shape;

BufferedImage image = ps.getEmbedImage().getImage();

ImageIO.write(image, "PNG", new File(String.format("提取指定图片-%1$s.png", i)));

}

}

}

}

(本文完)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2508/viewspace-3158334/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-09-29

  • 博文量
    122
  • 访问量
    13449