图片文件是人们日常生活中最常用的文档类型之一。有时,您可能需要将文件夹中的所有图片转换为 powerpoint 演示文稿。根据不同的需求,您可以将图片转换为形状或幻灯片背景。本文将演示如何使用 spire.presentation for java 在 java 中将常见格式的图片转换为 powerpoint 文档。
安装 spire.presentation for java
首先,您需要在 java 程序中添加 spire.presentation.jar 文件作为依赖项。jar 文件可以从此链接下载。如果您使用 maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而轻松地在应用程序中导入 jar 文件。
com.e-iceblue
e-iceblue
https://repo.e-iceblue.cn/repository/maven-public/
e-iceblue
spire.presentation
10.2.2
java 将图片转换为 powerpoint 背景图
当图片被转换为 powerpoint 文档的背景图时,它们无法移动或缩放。合适的背景图可以让您的演示文稿更加美观,吸引观众的眼球。下面我们来看看怎样通过 spire.presentation for java 将一组图片转换为 powerpoint 文件背景图片。
- 创建一个 presentation 类的对象。
- 将幻灯片尺寸类型设置为 sreen16x9。
- 从文件夹中获取图片路径。
- 遍历图片。
- 获取指定图片,并使用 presentation.getimages().append() 方法将其添加到文档的图片集合中。
- 使用 presentation.getslides().append() 方法向文档添加幻灯片。
- 通过 slidebackground 对象下的方法将图片设置为幻灯片背景。
- 使用 presentation.savetofile() 方法将文档保存为 powerpoint 文件。
- java
import com.spire.presentation.*;
import com.spire.presentation.drawing.*;
import javax.imageio.imageio;
import java.awt.image.bufferedimage;
import java.io.file;
import java.io.fileinputstream;
public class convertimagesasbackground {
public static void main(string[] args) throws exception {
// 创建一个 presentation 对象
presentation presentation = new presentation();
// 设置幻灯片大小类型
presentation.getslidesize().settype(slidesizetype.screen_16_x_9);
// 移除默认幻灯片
presentation.getslides().removeat(0);
// 从文件夹中获取图片文件
file directorypath = new file("/图片");
file[] picfiles = directorypath.listfiles();
// 遍历图片文件
for (int i = 0; i < picfiles.length; i )
{
// 添加一张幻灯片
islide slide = presentation.getslides().append();
// 获取一张图片
string imagefile = picfiles[i].getabsolutepath();
// 将该图片添加到图片集合中
bufferedimage bufferedimage = imageio.read(new fileinputstream(imagefile));
iimagedata imagedata = presentation.getimages().append(bufferedimage);
// 将该图片设置为幻灯片的背景图片
slide.getslidebackground().settype(backgroundtype.custom);
slide.getslidebackground().getfill().setfilltype(fillformattype.picture);
slide.getslidebackground().getfill().getpicturefill().setfilltype(picturefilltype.stretch);
slide.getslidebackground().getfill().getpicturefill().getpicture().setembedimage(imagedata);
}
// 保存结果文件
presentation.savetofile("/转换图片为背景.pptx", fileformat.pptx_2013);
}
}
在 java 中将图片转换为 powerpoint 形状
如果您希望在 powerpoint 文件中移动和调整图片大小,可以将其转换为形状。以下是使用 spire.presentation for java 将图片转换为形状的具体步骤。
- 创建一个 presentation 对象。
- 将幻灯片大小类型设置为 sreen16x9。
- 从文件夹中获取图片路径。
- 遍历图片。
- 使用 presentation.getimages().append() 方法获取特定图片并将其追加到文档的图片集合中。
- 利用 presentation.getslides().append() 方法向文档添加幻灯片。
- 使用 islide.getshapes().appendshape() 方法添加一个与幻灯片大小相等的形状。
- 通过 fillformat 对象下的方法将图片填充到形状中。
- 利用 presentation.savetofile() 方法将文档保存为 powerpoint 文件。
- java
import com.spire.presentation.*;
import com.spire.presentation.drawing.*;
import javax.imageio.imageio;
import java.awt.geom.rectangle2d;
import java.awt.image.bufferedimage;
import java.io.file;
import java.io.fileinputstream;
public class convertimagetoshape {
public static void main(string[] args) throws exception {
// 创建一个 presentation 类的对象
presentation presentation = new presentation();
// 设置幻灯片大小类型
presentation.getslidesize().settype(slidesizetype.screen_16_x_9);
// 移除默认幻灯片
presentation.getslides().removeat(0);
// 从文件夹中获取图片文件
file directorypath = new file("/图片");
file[] picfiles = directorypath.listfiles();
// 遍历图片
for (int i = 0; i < picfiles.length; i )
{
// 添加一张幻灯片
islide slide = presentation.getslides().append();
// 获取一张图片
string imagefile = picfiles[i].getabsolutepath();
// 将图片添加到图片集合中
bufferedimage bufferedimage = imageio.read(new fileinputstream(imagefile));
iimagedata imagedata = presentation.getimages().append(bufferedimage);
// 添加一个与幻灯片同样大小的形状
iautoshape shape = slide.getshapes().appendshape(shapetype.rectangle, new rectangle2d.float(0, 0, (float) presentation.getslidesize().getsize().getwidth(), (float)presentation.getslidesize().getsize().getheight()));
// 用图片填充形状
shape.getline().setfilltype(fillformattype.none);
shape.getfill().setfilltype(fillformattype.picture);
shape.getfill().getpicturefill().setfilltype(picturefilltype.stretch);
shape.getfill().getpicturefill().getpicture().setembedimage(imagedata);
}
// 保存结果文件
presentation.savetofile("/图片转换为形状.pptx", fileformat.pptx_2013);
}
}
java 将图片转换为 powerpoint 时自定义幻灯片大小
如果图片长宽比不是 16:9,或者它们不是标准幻灯片大小,您可以根据图片的实际尺寸创建幻灯片,这样可以有效防止图片被拉伸或压缩。以下是使用 spire.presentation for java 将图片转换为 powerpoint 文档并且自定义幻灯片大小的步骤。
- 创建一个 presentation 对象。
- 创建一个 pdfunitconvertor 对象,用于将像素转换为点。
- 获取文件夹中的图片路径。
- 遍历图片。
- 获取特定图片,并使用 presentation.getimages().append() 方法将其添加到文档的图片集合中。
- 获取图片的宽度和高度,并将其转换为点。
- 使用 presentation.getslidesize().setsize() 方法,根据图片大小设置演示文稿的幻灯片大小。
- 使用 presentation.getslides().append() 方法向文档添加幻灯片。
- 使用 slidebackground 对象下的方法,将图片设置为幻灯片的背景图片。
- 使用 presentation.savetofile() 方法将文档保存为 powerpoint 文件。
- java
import com.spire.pdf.graphics.pdfgraphicsunit;
import com.spire.pdf.graphics.pdfunitconvertor;
import com.spire.presentation.*;
import com.spire.presentation.drawing.*;
import javax.imageio.imageio;
import java.awt.*;
import java.awt.image.bufferedimage;
import java.io.file;
import java.io.fileinputstream;
public class customizeslidesize {
public static void main(string[] args) throws exception {
// 创建一个 presentation 对象
presentation presentation = new presentation();
// 移除默认幻灯片
presentation.getslides().removeat(0);
// 从文件夹中获取图片文件
file directorypath = new file("/图片文件夹");
file[] picfiles = directorypath.listfiles();
// 创建一个 pdfunitconvertor 对象
pdfunitconvertor convertor = new pdfunitconvertor();
// 遍历图片
for (int i = 0; i < picfiles.length; i )
{
// 获取一张图片
string imagefile = picfiles[i].getabsolutepath();
// 将该图片添加到图片集合中
bufferedimage bufferedimage = imageio.read(new fileinputstream(imagefile));
iimagedata imagedata = presentation.getimages().append(bufferedimage);
// 获取图片的高和宽的像素
int height = imagedata.getheight();
int width = imagedata.getwidth();
// 将像素转换为点
float widthpoint = convertor.convertunits(width, pdfgraphicsunit.pixel, pdfgraphicsunit.point);
float heightpoint= convertor.convertunits(height, pdfgraphicsunit.pixel, pdfgraphicsunit.point);
// 设置幻灯片的大小
presentation.getslidesize().setsize(new dimension((int)widthpoint, (int)heightpoint));
// 添加一张幻灯片
islide slide = presentation.getslides().append();
// 设置图片为幻灯片背景
slide.getslidebackground().settype(backgroundtype.custom);
slide.getslidebackground().getfill().setfilltype(fillformattype.picture);
slide.getslidebackground().getfill().getpicturefill().setfilltype(picturefilltype.stretch);
slide.getslidebackground().getfill().getpicturefill().getpicture().setembedimage(imagedata);
}
// 保存结果文档
presentation.savetofile("/自定义幻灯片大小.pptx", fileformat.pptx_2013);
}
}
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。