java poi修改ppt文件遇到的问题~求高手

任宝龙 2012-02-14 05:35:22
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.model.Slide;
import org.apache.poi.hslf.model.TextRun;
import org.apache.poi.hslf.usermodel.RichTextRun;
import org.apache.poi.hslf.usermodel.SlideShow;


public class Test
{

/**
* @param args
*/
public static void main(String[] args)
{

try
{
//InputStream input=new FileInputStream("F:\\test.ppt");
SlideShow ss=new SlideShow(new HSLFSlideShow("F:\\test.ppt"));
Slide[] sile=ss.getSlides();
TextRun[] text=sile[0].getTextRuns();

RichTextRun[] richText=text[0].getRichTextRuns();
int count=0;

for(RichTextRun rt:richText)
{
System.out.println(count++);
System.out.println(rt.getText());


}
//我在这里修改了一下,ppt原有的格式就没了~
richText[5].setText(richText[5].getText().replace("m", "a"));


FileOutputStream output=new FileOutputStream("F:\\test2.ppt");
ss.write(output);
output.close();

} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}
我修改了一下RichTextRun里面的一个值,ppt原有的样式就没了,如果不修改,则会保留原有样式,我很困惑,不知道问题处在哪里或者,或者到底应该怎么修改~求高手指教,这是我的第一项目,纠结阿。
...全文
350 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
任宝龙 2012-12-12
  • 打赏
  • 举报
回复
我之前用的是poi3.8测试版的~处理office2010的~不知道现在正式版的还有没有这样的问题 当时的解决方案~~就是把原来的RichText删了,在添加一个上去RichText上去,把之前那个RichText的样式全读过来,就行了,这是年初做的了,好久没碰这个了
rifhgd 2012-12-06
  • 打赏
  • 举报
回复
我也遇到相同的问题,请问楼主解决了吗
任宝龙 2012-02-14
  • 打赏
  • 举报
回复
我自己先顶下~没人回答吗?

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧