当前位置: 首页 > 知识库问答 >
问题:

使用Apache POI XSLF在指定位置在单个幻灯片中附加3张图像

东门翰
2023-03-14

我需要使用Apache POI XSLF在单张幻灯片中粘贴3张图片。然而,我只能在幻灯片中添加一张图片。我也找不到任何方法来指定图片的大小和方向。

尝试了以下代码

    XMLSlideShow ppt = new XMLSlideShow();
    XSLFSlide slide = ppt.createSlide();
    XSLFGroupShape group1 = slide.createGroup();
    byte buf[] = new byte[1024];

    for (int i = 1; i <= 2; i++) {
        byte[] pictureData = IOUtils.toByteArray(new FileInputStream(
                "C:\\Users\\Ashok\\Pictures\\" + i + ".png"));
        int elementIndex = ppt.addPicture(pictureData,
                XSLFPictureData.PICTURE_TYPE_PNG);
        XSLFPictureShape picture = slide.createPicture(elementIndex);
        List<XSLFPictureData> allPictures = ppt.getAllPictures();
        System.out.println(allPictures.size());
    }
    FileOutputStream fos = new FileOutputStream("C:\\test2.pptx");
    ppt.write(fos);
    fos.flush();
    fos.close();

上面的代码只包含最后一个图像。

共有1个答案

佟颖逸
2023-03-14

你需要固定你的照片

for (int i = 1; i <= 2; i++) {
    byte[] pictureData = IOUtils.toByteArray(new FileInputStream(
            "C:\\Users\\Ashok\\Pictures\\" + i + ".png"));
    int elementIndex = ppt.addPicture(pictureData,
            XSLFPictureData.PICTURE_TYPE_PNG);
    XSLFPictureShape picture = slide.createPicture(elementIndex);

    // Set picture position and size
    picture.setAnchor(new Rectangle(positionX, positionY, width, height));

    List<XSLFPictureData> allPictures = ppt.getAllPictures();
    System.out.println(allPictures.size());
}
 类似资料:
  • 我想拿一张PowerPoint幻灯片(“源”),并将其插入到另一张已经包含一些内容的PowerPoint幻灯片(“目标”)中,位于源PowerPoint幻灯片中的特定位置。 我已经尝试了几种方法来研究这样做的代码,但是我不断得到将幻灯片合并到PowerPoint演示文稿中的结果,这不是我想要的。我想拿一张现有的幻灯片并将其插入到另一张幻灯片中,就像在现有幻灯片中插入图片一样。 我有另一位同事编写的

  • 注意: Adobe Muse 不再添加新增功能,并将于 2020 年 3 月 26 日停止支持。有关详细信息和帮助,请参阅 Adobe Muse 服务结束页面。 Adobe Muse 中的“幻灯片”构件是交互式构件,只适用于图像。类似于“选项卡式面板”构件,当用户单击缩略图容器时,对应的主体图像版本就会在页面上的另一个较大容器中显示。 Adobe Muse 支持以下类型的“幻灯片”构件: 基本:此

  • 使用幻灯片组件,你需要在 sm.js 和 sm.css 之后额外引入如下两个文件: <link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/sm-extend.min.css"> <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm-exte

  • 我试图在演示文稿中添加幻灯片,但遇到了错误。 上下文:我有一个包含200多页的word文件。每个页面包含一个图像(截图)。我想为MS Word文档中的每个图片创建一个PowerPoint文档;我想将图片粘贴到空白幻灯片中。 我在的行中有一个错误

  • 我正在使用slick.js插件,并且说出了一个问题,希望有人能帮助我。我有两个旋转木马,都有五张幻灯片,顶部旋转木马一次显示一张幻灯片,底部一次显示全部五张幻灯片。顶部可以通过箭头移动,底部每个单独的幻灯片图像都可以单击,但没有箭头或点。 预期的行为是,我希望点击旋转木马中的一个幻灯片,一次显示五个(底部),以将另一个旋转木马移动到相应的幻灯片(例如,点击底部的幻灯片3将顶部移动到幻灯片3)。类似

  • 有没有办法把一个幻灯片从一个幻灯片完全复制到另一个幻灯片,包括所有的方框位置,颜色,字体等等。? 参考食谱,我有下面 然而,背景与“from”pptx不匹配,并且一些文本框被移动了。我猜颜色是因为我没有修改母版,而移动是因为与锚相关的东西。我也尝试了我认为会迫使一张幻灯片的母版转移到另一张幻灯片上的方法,但它的作用与上面的相同。