gpt4 book ai didi

java - 在 ODFToolkit 中将内容添加到 OpenOffice odp 演示文稿的框架

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:21:28 26 4
gpt4 key购买 nike

我想使用 Open Office/Libre Office Presentation 作为模板并在幻灯片中插入文本和图像。我正在尝试使用 odftoolkit。如果我有一张带框的幻灯片,它们将表示为 <draw:frame>在 XML 中

我如何访问这些以在其中放置图像?我应该使用这些类(class)吗?

  • org.odftoolkit.simple.PresentationDocument
  • org.odftoolkit.simple.presentation.Slide

当我打开幻灯片时,我看到的相关方法是:

  • .getOdfElement
  • .getFrameContainerElement

但我看不到如何在幻灯片中选择帧。当我打开 XML 时,我在 <draw:page> 下有 5 个框架.

具有如下属性:presentation:style-name="pr2" draw:layer="layout"

最佳答案

正如 Eugene 评论的那样,我必须找到目标框架并做更多的工作。没有将图像添加到框架的方法,只能添加到幻灯片。我进入方法并成功如下:

DrawPageElement drawPageElement = slide.getOdfElement();
DrawFrameElement drawFrame = OdfElement.findFirstChildNode(DrawFrameElement.class, drawPageElement);
DrawImageElement image = drawFrame.newDrawImageElement();
OdfPackage mOdfPackage = odp.getPackage();
String imageRef = "/some/path/to/chart.png";

String packagePath = odp.getDocumentPath() + OdfPackage.OdfFile.IMAGE_DIRECTORY.getPath() + "/" + someMethodToCreateRandomString();

mOdfPackage.insert(new URI(imageRef), packagePath, OdfFileEntry.getMediaTypeString(imageRef));
packagePath = packagePath.replaceFirst(odp.getDocumentPath(), "");
URI uri = new URI(AnyURI.encodePath(packagePath).toString());
image.setXlinkHrefAttribute(AnyURI.decodePath(uri.toString()));
image.setXlinkActuateAttribute("onLoad");
image.setXlinkShowAttribute("embed");
image.setXlinkTypeAttribute("simple");

我希望有更接近 GUI 的东西,因为我想我错过了一些样式和更好的查找框架的方法。不过反正也不错。

关于java - 在 ODFToolkit 中将内容添加到 OpenOffice odp 演示文稿的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22102579/

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