2010-10-18 2 views
9

Я хочу создать блок-схему в OpenOffice Draw.Как создать документ OpenOffice Draw?

Поскольку существует много шагов, чтобы показать (и может измениться в будущем), но я могу извлечь данные, я хочу, чтобы автоматизировать процесс создания с помощью следующих шагов:

  • Создайте новый документ КГДА с указанием страницы.
  • Вставьте фигурные диаграммы с заданными свойствами.
  • Соедините эти вещи со стрелками.
  • В идеале, автоматически организуйте вещи в разумные позиции.

Я не хочу часами читать о некоторых вещах «UNO» - мне просто нужны примеры кода, которые я могу приспособить по мере необходимости.

Не беспокоитесь, если код примера использует API OO или просто модифицирует XML-файлы внутри заархивированного шаблона - при условии, что он позволяет мне делать вышеуказанные вещи достаточно легко.

Я делаю это с Railo (CFML), но я также могу работать с Java или преобразовывать фрагменты с других читаемых языков.

Любые предложения, как это сделать?


Update:
Я начал играть с маршрутом XML - я сэкономил пустой файл и файл с одного объектом, и сравнил два (лечения, как молния), чтобы увидеть разницу, затем повторил несколько раз с различными изменениями, чтобы понять, что происходит.

У меня есть некоторые очень простые (и неполной) код, который может создавать формы и соединить их, которые можно увидеть здесь: http://gist.github.com/634306

Это очень сырой, но я, вероятно, может разработать способ использовать то, что Я должен сейчас создавать то, что мне нужно, но я все еще надеюсь, что кто-то может указать мне на лучший способ сделать это, особенно потому, что мне нужно выяснить, как правильно позиционировать фигуры, которые не будут тривиальный.

Я создал особый вопрос для этой четвертой точки:
How do I auto-layout boxes on a flowchart?

Update 2:
С этого другой вопрос, я обнаружил GraphViz, которые могут визуализировать графики из данных - и Я создал «digraph» из моих данных - так что все, что мне нужно, - это способ конвертировать output of GraphViz во что-то, что может принять OpenOffice Draw. Очевидная мысль, что будет SVG, но кажется, OpenOffice hasn't implemented SVG properly, так что мне нужно придумать другой план.

+0

Каковы ваши входы? Просто связанный граф в какой-то базе данных или что-то еще? Что вам действительно нужно для вывода? Просто .png или реальный файл OO Draw? –

+0

В принципе, да - это куча статусов Джиры и их переходы (которые ссылаются на другие статусы), которые у меня есть как структура данных CFML/JSON. (Нет доступа к db, я конвертировал из HTML.) –

+0

Выходным образом, мне нужно будет сделать больше работы в OO Draw потом (чтобы добавить дополнительную информацию и, возможно, зафиксировать позиции), поэтому PNG не будет большим, но любой векторный формат, я могу импортировать в порядке. –

ответ

0

Вы можете проверить мои post о том, как создать таблицу OO. Пример .NET, но должен быть легко переносимым на Java. Я не делал этого раньше, но я бы предположил, что вы можете заменить writer8 на draw8, чтобы получить доступ к движку OpenOffice Draw вместо механизма работы с электронными таблицами.Если вы успешно создали таблицу таким образом, вы можете проверить API о том, как добавить фигуры и фигуры.