POI中的标题创建PowerPoint幻灯片时不保留复制时的格式

时间:2010-07-08 18:18:03

标签: java powerpoint apache-poi

我正在使用POI创建PowerPoint幻灯片,我需要能够 复制并粘贴到另一个演示文稿。我遇到了问题 生成的幻灯片的标题采用项目符号列表样式 复制时关于如何解决这个问题的任何想法?我试过了 生产版本(3.6-20091214)和测试版 (3.7-beta1-20100620)。

要重现,您只需运行以下代码:

import java.io.FileOutputStream;

import org.apache.poi.hslf.model.Slide;
import org.apache.poi.hslf.model.TextBox;
import org.apache.poi.hslf.usermodel.SlideShow;

public class TestPPT {

   /**
    * @param args
    */
   public static void main(String[] args) {
           try{
                   SlideShow slideShow = new SlideShow();
                   Slide slide = slideShow.createSlide();
                   TextBox title = slide.addTitle();
                   title.setText("Test Title");
                   FileOutputStream out =
                       new FileOutputStream("C:/slideshow.ppt");
                   slideShow.write(out);
                   out.close();
           }catch(Exception e){}}
}

打开slideshow.ppt,选择幻灯片,复制并粘贴它 那里你应该看到一张带有一个条目的子弹列表的新幻灯片 阅读“测试题目”。见下文。

alt text http://www.freeimagehosting.net/uploads/69bef4b86b.gif

1 个答案:

答案 0 :(得分:0)

我注意到在创建的幻灯片上应用不同的幻灯片设计/布局时也会发生这种情况。显然,添加的标题有一些标记,除非您开始复制或应用设计,否则不会显示。

请注意,hslf是暂存器的一部分;意思是 - 如果我理解正确 - 你必须小心依靠它来生产。我想你可以做的最好的事情就是在相应的邮件列表或错误跟踪系统上将其报告为错误。