gpt4 book ai didi

java - 如何使用 apache POI 复制包含图表的幻灯片?

转载 作者:行者123 更新时间:2023-11-30 03:03:06 61 4
gpt4 key购买 nike

亲爱的大家,

我正在使用 Apache POI,我想复制一张包含代码中的多个图表的幻灯片。

当幻灯片上没有图表时,下面的代码(受到 https://poi.apache.org/slideshow/xslf-cookbook.html#Merge 的启发)可以正常工作。

不幸的是,这种方法似乎没有重复图表:当我尝试打开生成的文件时,Powerpoint 检测到问题,尝试修复它,但失败了,并且我得到了空幻灯片。

我已经检查了底层 XML 文件(使用 Open XML SDK),图表本身(在文件夹 /ppt/charts 中)似乎不重复,并且关系文件 (文件夹 /ppt/slides/_rels 中)未完全更新。

这是我当前的代码:

// Open slideshow
FileInputStream fileInputStream = new FileInputStream(sourceFilePath);
XMLSlideShow slideShow = new XMLSlideShow(fileInputStream);
fileInputStream.close();

// Duplicate slide
XSLFSlideLayout layout = slide.getSlideLayout();
XSLFSlide newSlide = slideshow.createSlide(layout);
newSlide.importContent(slide);

// Save updated slideshow
FileOutputStream fileOutputStream = new FileOutputStream(outputFilePath);
slideShow.write(fileOutputStream);
fileOutputStream.close();

你知道如何克隆幻灯片及其图表吗?

非常感谢,并致以诚挚的问候!

最佳答案

你不能。我试了又试,问题是复制不处理图像或图表。

我必须通过脚本手动复制文件。步骤如下:

  • 找到幻灯片文件
  • 复制它
  • 在 XML 文件中查找图表对象,并记下关系 ID
  • 在关系文件中,检查关系 ID 指定了哪个文件
  • 复制此文件
  • 您还必须复制新幻灯片的关系文件,并更新名称
  • 新幻灯片不可见,您必须更新presentaion.xml
  • 请注意:如果您希望 PPTX 与 Microsoft Powerpoint 配合使用,您还必须复制关联的 Excel 工作簿(请参阅图表的关系文件)

关于java - 如何使用 apache POI 复制包含图表的幻灯片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35431714/

61 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com