Ama*_*ala 6 java openoffice.org odf libreoffice odftoolkit
我想使用Open Office/Libre Office Presentation作为模板,并将文本和图像插入到幻灯片中.我正在尝试使用odftoolkit.如果我有一个带框的幻灯片,它们就像<draw:frame>
在XML 中一样表示
如何访问那些将图像放入其中?我应该使用这些课吗?
org.odftoolkit.simple.PresentationDocument
org.odftoolkit.simple.presentation.Slide
当我打开幻灯片时,我看到的相关方法是:
.getOdfElement
.getFrameContainerElement
但我无法看到如何在幻灯片中选择框架.当我打开XML时,我有5帧<draw:page>
.
有如下属性: presentation:style-name="pr2" draw:layer="layout"
正如尤金评论的那样,我必须找到目标框架并做更多的工作。没有方法可以将图像添加到框架中,只能添加到幻灯片中。我研究了这些方法并成功如下:
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");
Run Code Online (Sandbox Code Playgroud)
我希望有更接近 GUI 的东西,因为我认为我错过了一些样式和更好的查找框架的方法。但无论如何也不错。
归档时间: |
|
查看次数: |
532 次 |
最近记录: |