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原有的样式就没了,如果不修改,则会保留原有样式,我很困惑,不知道问题处在哪里或者,或者到底应该怎么修改~求高手指教,这是我的第一项目,纠结阿。