javapoippt的简单介绍

博主:adminadmin 2022-12-12 10:18:08 96

本篇文章给大家谈谈javapoippt,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java poi 将ppt转换为png图片格式后,中文出现乱码,如何解决?

在代码中将ppt文字的字体设置为中文字体,比如宋体,转换之后就不会乱码或者变框框了。

poi导出ppt怎么设置ppt母版

PPT模板需要再模板视图中设置,步骤如下:

我用的office PowerPoint演示 ,不过支持免费的WPS。

分为直接套用模板和自定义模板两种,

1.绍模板套用

模板套用很简单,首先要去找一个适合演讲展示内容主题的模板,

可以直接安装一个“文档美化大师”一键美化文档,使用方法很简单,这里就不多介绍,安装打开已经做好的ppt一键美化即可,也可以进去挑选喜欢的ppt模板。

2.模板更改和自定义:视图-幻灯片母版

这里有12个板式,分别对应的是板式中的11个板式+1个通用板式(模板中的第一个)

然后在对应板式里编辑相应的模板,字体样式、背景颜色

如果只是想要给幻灯片加个背景,那么直接在最顶上那个通用板式底部加一个背景就行

下图中,左侧的12个板式对应的是幻灯片普通视图编辑框中的11个板式+一个通用视图

下图是幻灯片板式入口,模板视图中编辑好,此处可以直接套用

编辑完成关闭,然后到普通视图中去添加想要展示的内容即可

注意的是,直接在非模板视图也是可以添加的,就是背景图片不是锁定样式

java 用POI转换PPT的问题

Shape[] sh = slide[i].getShapes();

如果这页里面有Picture元素,应该是可以得到的。我用poi写出了一个带图的ppt,然后用instanceof测试过,这是没问题的。

可能因为你需要读取的ppt不够规范,比如一个人加图一个习惯,有的人喜欢直接放图,有的人喜欢把图放在某个容器上之类的。

还有可能出问题的地方就是确定有底图的页面没用母板?

java poi 操作ppt,该怎么解决

解析PPT文件中的图片

import java.io.File;

import java.io.FileOutputStream;

import org.apache.poi.hslf.HSLFSlideShow;

import org.apache.poi.hslf.model.Picture;

import org.apache.poi.hslf.usermodel.PictureData;

import org.apache.poi.hslf.usermodel.SlideShow;

public class OutputPicture {

// 图片默认存放路径

public final static String path = "F:\\ppt\";

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

// 加载PPT

HSLFSlideShow _hslf = new HSLFSlideShow("F:\\Downloads\\myPPT.ppt");

SlideShow _slideShow = new SlideShow(_hslf);

// 获取PPT文件中的图片数据

PictureData[] _pictures = _slideShow.getPictureData();

// 循环读取图片数据

for (int i = 0; i _pictures.length; i++) {

StringBuilder fileName = new StringBuilder(path);

PictureData pic_data = _pictures[i];

fileName.append(i);

// 设置格式

switch (pic_data.getType()) {

case Picture.JPEG:

fileName.append(".jpg");

break;

case Picture.PNG:

fileName.append(".png");

break;

default:

fileName.append(".data");

}

// 输出文件

FileOutputStream fileOut = new FileOutputStream(new File(fileName.toString()));

fileOut.write(pic_data.getData());

fileOut.close();

}

}

}

在PPT文件中加入外部图片

import java.awt.Rectangle;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.FileOutputStream;

import javax.imageio.ImageIO;

import org.apache.poi.hslf.model.Picture;

import org.apache.poi.hslf.model.Slide;

import org.apache.poi.hslf.usermodel.SlideShow;

public class InputPicture {

public static String path = "F:\\images\\myImage.png";

public static String OUTPUT = "F:\\ppt\\myppt.ppt";

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

if(args.length != 0){

path = args[0];

}

// 构建PPT

SlideShow _slideShow = new SlideShow();

// 创建幻灯片

Slide _slide = _slideShow.createSlide();

// 设置图片类型

int pic_type = -1;

if(path.indexOf(".png") != -1){

pic_type = Picture.PNG;

}else{

pic_type = Picture.JPEG;

}

File file = new File(path);

BufferedImage image = ImageIO.read(file);

// 新置入图片索引位置

int newIndex = _slideShow.addPicture(file, pic_type);

// 根据索引位置 , 创建图片对象

Picture _picture = new Picture(newIndex);

// 设置图片显示位置

_picture.setAnchor(new Rectangle(100,100,image.getWidth(),image.getHeight()));

// 将图片放入幻灯片

_slide.addShape(_picture);

// 输出PPT文件

_slideShow.write(new FileOutputStream(new File(OUTPUT)));

}

}

操作文本对象

import java.awt.Color;

import java.awt.Rectangle;

import java.io.FileOutputStream;

import org.apache.poi.hslf.model.AutoShape;

import org.apache.poi.hslf.model.Line;

import org.apache.poi.hslf.model.ShapeTypes;

import org.apache.poi.hslf.model.Slide;

import org.apache.poi.hslf.model.TextBox;

import org.apache.poi.hslf.model.TextRun;

import org.apache.poi.hslf.usermodel.RichTextRun;

import org.apache.poi.hslf.usermodel.SlideShow;

public class InputTextRun {

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

SlideShow _slideShow = new SlideShow();

Slide slide = _slideShow.createSlide();

// 创建并置入简单文本

TextBox _text = new TextBox();

TextRun _textRun = _text.createTextRun();

_textRun.setRawText("杜磊米");

_text.setAnchor(new Rectangle(10,10,100,100));

// 创建并置入带有样式的文本

AutoShape _autoShape = new AutoShape(ShapeTypes.Rectangle); //设置形状

TextRun _autoText = _autoShape.createTextRun();

_autoText.setRawText("杜磊米");

_autoShape.setAnchor(new Rectangle(200,200,100,100));

_autoShape.setFillColor(new Color(170,215,255));

_autoShape.setLineWidth(5.0);

_autoShape.setLineStyle(Line.LINE_DOUBLE);

// AutoShape 对象可以设置多个不同样式文本

TextRun _autoText2 = _autoShape.createTextRun();

RichTextRun _richText = _autoText2.appendText("杜");

_richText.setFontColor(new Color(255,255,255));

RichTextRun _richText2 = _autoText2.appendText("磊米");

_richText2.setFontColor(new Color(255,0,0));

_richText2.setFontSize(12);

// 将文本对象置入幻灯片

slide.addShape(_text);

slide.addShape(_autoShape);

// 输出文件

_slideShow.write(new FileOutputStream("F:\\ppt\\text.ppt"));

}

}

设置各类文件属性

import java.awt.Dimension;

import java.io.FileOutputStream;

import org.apache.poi.hpsf.DocumentSummaryInformation;

import org.apache.poi.hpsf.SummaryInformation;

import org.apache.poi.hslf.HSLFSlideShow;

import org.apache.poi.hslf.model.Slide;

import org.apache.poi.hslf.usermodel.SlideShow;

public class PPTProperty {

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

HSLFSlideShow hslf = HSLFSlideShow.create();

SlideShow _slideShow = new SlideShow(hslf);

// 设置页面大小

_slideShow.setPageSize(new Dimension(400,600));

// 设置后创建出相应大小的幻灯片

Slide slide = _slideShow.createSlide();

DocumentSummaryInformation doc = hslf.getDocumentSummaryInformation();

SummaryInformation info = hslf.getSummaryInformation();

doc.setCompany("secret");

info.setAuthor("杜磊米");

info.setTitle("nothing");

// 输出文件

_slideShow.write(new FileOutputStream("F:\\ppt\\demo.ppt"));

// 完成后, 找到文件 , 右键属性查看:)

}

}

Java poi操作PPT,怎么向PPT中插入文件对象?

麻ao 对插操件象中芝操对文i#P?插a#

几千个PPT案例参考,再也不用为做PPT烦恼啦 pptmuban.c om(删掉c om之间空格)

Java POI HSLF PPT中文字体问题

恩,我估计可能是你的ppt的设置问题把?

你看看你的ppt里的字体。

1.你这里设置的字体必须是ppt支持的。

2.ppt里应该不会有强制中文都用宋体显示的设置把?

javapoippt的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javapoippt的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-12,除非注明,否则均为首码项目网原创文章,转载请注明出处。