uno in oo.org

Tegnap egy egész érdekes szárnypróbálgatást tettem az uno háza táján. Aki nem tudná mi az az uno (helyesen UNO, Universal Network Objects) annak elmondom: openoffice.org API megvalósítása. Ennek segítségével java-ban c++-ban vagy akár pythonban lehet programozni az OpenOfficet. Mivel c++-ban annyira nem vagyok otthon, Java-t meg még csak most tanulom, így maradt a python.
A program mérete miatt el lehet képzelni, hogy mennyire hatalmas az API dokumentációja, arról már ne is beszéljünk hogy milyen bonyolult és átláthatatlan első ránézésre. A hab a tortán, hogy python példakódok nem lévén (Java se nagyon van!) azért nem 5 perc mire átlátja az emberfia hogy mit és hogyan kéne.
Két 2 óra alatt sikerült is megtalálnom hogy hogyan keressek meg egy táblát a dokumentumban név alapján. A kulcs a getTextTables() és a getByName() metódusok. Logikus elnevezések. 🙂 Aki használta annak mindenképpen.

itemsTable = doc.getTextTables().getByName(‘elemek’)
tableText = itemsTable.getCellByName(“A1”)
tableText.setString(“szöveg”)
Sötöbö.

Így lehetőségem nyílt például ilyen irodai felhasználásra:

  • Gizike megírja a dokumentumsablont (vagy körlevélsablont)
  • betölti egy erre megírt célszoftverbe
  • a program megtalálja a sablonban az entitásokat (vagy mezőket) amiket gizike elhelyezett.
  • majd fogja a forrás adatbázist (partnerek, megrendelések, számlák, árajánlatok, raktárnyilvántartás stb…) és a sablont az adatokkal összeműtve a kimenetet valahogy feldolgozza: PDF, email küldés, e-szignó, Fax, nyomtatás)

Így, minimális energiabefektetéssel kaptunk egy minőségien megszerkeszthető sablonozható rendszert. Teszt gyanánt kipróbáltam, és pár óra alatt sikerült Szállítólevél készítő programot összedobni a vállalatirányítási szoftverhez amit most kezdtem el csinálni. Az eredmény lenyűgözően szép és pontos. Ráadásul minden formázási eszköz rögtön rendelkezésemre áll, nem kell fejleszteni.
Pár óra fejlesztést vessük össze azzal, mi lenne akkor ha az ismétlődő fejléc (élőfej), ismétlődő táblázatfej, behúzások, automatikus szövegigazítások, stb mindezt nekem kéne implementálni és produkálni hasonló minőséggel mondjuk egy számlázó szoftver esetén. Nem beszélve arról, hogy így gyakorlatilag egy-két napos munkával akár egy számlázót is össze tudok már pakolni. Kész a linux alapú táviroda. 🙂

Hihetetlen perspektívák nyíltak így meg. Még magam se nagyon tudom elképzelni hogy mennyi mindenre fel tudnám használni ezt az infrastruktúrát. Pár gyakorlati terv és biztos vevő már így is akad. Van egy tippem, hogy a google is használja az UNO-t… 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.