我该如何生成一个OpenOffice Draw文档?

8

我想在OpenOffice Draw中创建一个流程图。

由于需要展示很多步骤(并且可能会在未来更改),但我可以提取数据,所以我希望通过以下步骤自动创建:

  • 创建具有指定页面设置的新ODG文档。
  • 插入具有指定属性的流程图形状。
  • 用箭头连接这些内容。
  • 理想情况下,将内容自动组织到合理的位置。

我不想花费几个小时阅读关于“UNO”事物的内容 - 我只想要可以根据需要进行调整的代码示例。

如果示例代码使用OO API或仅修改压缩模板内部的XML文件都可以,只要它能让我轻松完成以上任务即可。

我正在使用Railo (CFML)进行此操作,但我也可以使用Java,或者从其他易读语言转换代码片段。

有什么建议吗?


更新:
我已经开始尝试使用XML路线了 - 我保存了一个空文件和一个带有单个对象的文件,并将它们进行比较(视为压缩文件),以查看它们之间的差异,然后反复进行几次,对不同的更改进行了一些帮助,以便更好地理解正在发生的事情。

我有一些非常基本的(不完整的)代码,可以创建形状并将它们连接起来,可以在这里看到:http://gist.github.com/634306

这很粗糙,但我现在可能可以想出一种使用我现有的东西来产生所需内容的方法 - 但我仍然希望有人能够指引我更好的方法来做到这一点 - 特别是因为我需要想出某种适当位置的形状的方法,这并不容易。

我为这第四点创建了一个独立的问题:
如何在流程图上自动布局盒子?

更新2:
从那个问题中,我发现了GraphViz,它可以将数据可视化为图形 - 我已经从我的数据创建了一个'digraph',所以我需要一种方法将GraphViz的输出转换成OpenOffice Draw可以接受的格式。显而易见的想法是SVG,但似乎OpenOffice尚未正确实现SVG,因此我需要想出另一个计划。


你的输入是什么?只是某个数据库中的连接图形或其他东西吗?你真正需要的输出是什么?只是一个 .png 文件还是一个真正的 OO 绘图文件? - Tom Chiverton
基本上,是一组 Jira 状态及其转换(链接到其他状态),我已经将其作为 CFML/JSON 数据结构获取。(无 DB 访问,我从 HTML 转换而来。) - Peter Boughton
从输出方面来看,我之后需要在OO Draw中进行更多的工作(添加额外信息和可能修正位置),因此PNG不是很好,但任何可以导入的矢量格式都可以。 - Peter Boughton
OO Draw可以导入EPS格式,这是GraphViz的一种输出格式之一。我刚刚测试了一下,它似乎可以正确地以矢量格式导入EPS文件。 - Jordan Reiter
2个回答

1

0
你可以查看我的文章,了解如何创建面向对象的电子表格。示例是使用.NET编写的,但应该很容易移植到Java。我以前没有做过,但我认为你可以用draw8替换writer8来访问OpenOffice Draw引擎,而不是电子表格引擎。如果你已经成功地用这种方式创建了电子表格,那么你可以查看API,了解如何添加形状和图形。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接