gpt4 book ai didi

java - 使用 docx4j 复制多张 powerpoint 幻灯片

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:22:22 25 4
gpt4 key购买 nike

我正在尝试使用 docx4j 复制几张幻灯片,但遇到了一些麻烦。

我有一个包含 3 页的 .pptx 文件,我希望将每一页复制几次。到目前为止,这是我的代码(基于 here 中的示例:

    PresentationMLPackage presentationMLPackage = (PresentationMLPackage) OpcPackage.load(new File(args[0]));

MainPresentationPart pp = (MainPresentationPart)presentationMLPackage.getParts().getParts().get(
new PartName("/ppt/presentation.xml"));

List<SlidePart> slideParts = pp.getSlideParts();

int index = 1;

for(SlidePart slidePart : slideParts){

SlideLayoutPart layoutPart = (SlideLayoutPart)presentationMLPackage.getParts().getParts().get(new PartName("/ppt/slideLayouts/slideLayout" + index + ".xml"));
Sld copied = XmlUtils.deepCopy(slidePart.getContents(), slidePart.getJAXBContext());

SlidePart slide = new SlidePart(new PartName("/ppt/slides/slide" + index + ".xml"));
slide.setContents(copied);

pp.addSlide(1, slide);

slide.addTargetPart(layoutPart);

index++;
}

presentationMLPackage.save(new java.io.File("test.pptx"));

我的代码运行正常,没有任何错误,当我打开文件时,我收到 powerpoint 中的错误警告,它要求修复文件,当你这样做时,页面是空白的,页面没有重复。

如何让它正常工作?

最佳答案

在一般情况下,这并不是那么简单。您需要注意幻灯片 rels 等。

出于这个原因,我们在 Docx4j Enterprise 中提供了一个商业解决方案,您可以在 https://www.plutext.com/m/index.php/products 找到它

关于java - 使用 docx4j 复制多张 powerpoint 幻灯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52383579/

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