2010-10-18 11 views
9

Chcę utworzyć schemat blokowy w programie OpenOffice Draw.Jak wygenerować dokument OpenOffice Draw?

Ponieważ istnieje wiele kroków, aby pokazać (i mogą ulec zmianie w przyszłości), ale można wyodrębnić dane, chcę zautomatyzować tworzenie z następujących kroków:

  • Utwórz nowy dokument ODG z podaną ustawienia strony.
  • Wstawianie kształtów wykresów przepływu o określonych właściwościach.
  • Połącz te rzeczy ze strzałkami.
  • Idealnie, automatycznie organizuj rzeczy na rozsądne pozycje.

Nie chcę spędzać godzin czytając o czymś "UNO" - po prostu chcę przykładów kodu, które mogę dostosować w razie potrzeby.

Nie przejmuj się, jeśli przykładowy kod korzysta z interfejsu API OO lub po prostu modyfikuj pliki XML wewnątrz spakowanego szablonu - o ile pozwala mi to dość łatwo wykonać powyższe czynności.

Robię to z Railo (CFML), ale mogę również pracować z Javą lub konwertować fragmenty z innych czytelnych języków.

Jakieś sugestie, jak temu zaradzić?


Aktualizacja:
zacząłem grać z trasą XML - Uratowałem pustego pliku, a plik z jednego obiektu i porównano dwa (traktując jako zamki), aby zobaczyć różnicę, następnie kilkakrotnie powtórzyć z różnymi zmianami, aby pomóc zrozumieć, co się dzieje.

Mam niektóre bardzo prosty (i niekompletne) kod, który może tworzyć kształty i łączyć je, co można zobaczyć tutaj: http://gist.github.com/634306

To bardzo surowy, ale chyba mogę wypracować sposób, aby wykorzystać to, co Muszę teraz produkować to, czego potrzebuję - ale wciąż mam nadzieję, że ktoś może wskazać mi lepszy sposób na zrobienie tego - szczególnie, że muszę wymyślić jakiś sposób odpowiedniego rozmieszczenia kształtów, co nie będzie możliwe. trywialny.

Został utworzony odrębny pytanie na czwartym punkcie:
How do I auto-layout boxes on a flowchart?

Aktualizacja 2:
Z tym drugim pytaniu, odkryłem GraphViz które można zwizualizować wykresy z danymi - i mam stworzyłem "digraf" z moich danych - więc wszystko, czego potrzebuję, to sposób na przekształcenie output of GraphViz w coś, co OpenOffice Draw może zaakceptować. Oczywistą myślą było SVG, ale wydaje się, że jeszcze nie, więc muszę wymyślić inny plan.

+0

Jakie są Twoje dane wejściowe? Tylko połączony wykres w jakiejś bazie danych czy coś takiego? Do czego naprawdę potrzebujesz wyjścia? Po prostu plik .png lub prawdziwy plik OO Draw? –

+0

Zasadniczo, tak - to kilka stanów Jira i ich przejścia (które łączą się z innymi statusami), które mam jako struktura danych CFML/JSON. (Brak dostępu do bazy danych, przekonwertowałem z kodu HTML). –

+0

Wychodząc z wyników, będę musiał wykonać więcej pracy w trybie OO Draw (aby dodać dodatkowe informacje i prawdopodobnie poprawić pozycje), więc PNG nie będzie świetny, ale dowolny format wektorowy, który mogę importować, jest w porządku. –

Odpowiedz

0

Możesz sprawdzić mój post, jak utworzyć arkusz kalkulacyjny OO. Przykładem jest .NET, ale powinien być łatwy do przeniesienia na język Java. Nie robiłem tego wcześniej, ale zakładam, że można zastąpić writer8 z draw8, aby uzyskać dostęp do silnika programu DrawOffice Draw zamiast silnika arkusza kalkulacyjnego.Jeśli pomyślnie utworzyłeś arkusz kalkulacyjny w ten sposób, możesz skorzystać z interfejsu API, aby dowiedzieć się, jak dodawać Kształty i liczby.