首页 文章

通过API在LibreOffice / OpenOffice Draw中导入/导出或存储/恢复xShapes

提问于
浏览
0

我希望 - 正如 Headers 所说 - 以编程方式从Draw文档中通过api接口提取形状 . 除此之外,我也希望将这样的形状导入到文档中 .

我在XML表单中看到了一些预定义的形状,文档也存储为XML结构 . 是否有一种已知的方法可以让任何人在那里存储和装载一个形状?

What is this good for?

例如,我希望能够以编程方式删除对象 . 但要启用撤消/重做功能,我需要“存储”已删除的形状 . 除此之外,这将允许我以编程方式添加用户定义的对象,例如箭头,UML结构或独角兽 .

提前感谢任何想法,

Ĵ

P.S . :我使用LibreOffice版本:5.2.1.2 . 通过C#访问界面(所以java和C也可以这样做)但欢迎任何想法 .

1 回答

  • 1

    我不完全确定你要做什么,但这里有一些想法:

    您可以使用调度程序来剪切它,而不是删除XShape . 这会将它存储在剪贴板中,因此如果需要将其添加回来,则只要没有执行其他复制或剪切,调度程序就可以粘贴它 .

    要创建形状,请参阅https://wiki.openoffice.org/wiki/Documentation/DevGuide/Drawings/Shapes处的示例 . 此代码看起来会有所不同,具体取决于它的形状 . 听起来你要求一个代码清单,它将以编程方式创建任何类型的形状,但我不认为这很容易 .

    您可以通过编程方式修改XML文件,而不是使用UNO API,这样可以更轻松地存储和处理任何形状 . 一定要使用XML解析库,而不仅仅是正则表达式 .

相关问题