Archiv rubriky: Office

Java generovani PDF: vytvoreni stitku na obalky z MS Excelu

Nedavno jsem si hral s generovanim PDF v Jave. Napsal jsem jednoduchy kod, ktery vygeneruje seznam adres na obalky do PDF. Data jsou pripavena v MS Excelu. Kod je priserne zpraseny, ale treba se nekomu pro inspiraci bude hodit 😉

Soubor s daty v MS Excelu musi mit presne stejne nadpisy bunek, jako je na obrazku. Tato slova jsou napevne zadratovana v kodu, samozrejme by nebyl problem udelat jednoduche GUI, ve kterem by si uzivatel naklikal, co chce. Data v Excelu je nutne ulozit do formatu CSV.

Vysledny CSV soubor vypada nasledovne:

V Jave vyuzivam knihovnu JavaCSV z CSVReader.com pod LGPL 2 licenci na zpracovani CSV.
S knihovnou na praci s PDF je to mnohem horsi. ASi nejlepsi a nejznamejsi je iText. Jedna se o dualne licencovanou knihovnu. Prvni je licence AGPL 3 (GNU Affero General Public License) – ta je skoro nepouzitelna. Druha je placena, prave pro pripady, kdy nelze pouzit AGPL. 
Pred nekolika lety byla open source verze iText dostupna pod mnohem mene restriktivni licenci LGPL 2. Tato verze je uz dost obtizne k sehnani (prekvapive). Nastasti si mi ji podarilo najit na GitHubu. Pro kompatibilitu s novou knihovnou je urcena tato. Knihovna pod LGPL je uz nekolik let neudrzovana a neumi vsechno, co jeji aktualni verze!
Knihovny jako Apache PDFBox jsou jen pekne hracky bez dokumentace a tutorialu – ztrata casu se jimi vubec zabyvat…

Tady je ta prasarna: 

 

Po spusteni vyplivne takovyto PDF soubor. JAR soubor ke stazeni. Komplet vse ke stazeni (tabulka v Excelu, zdrojak, knihovny, jar).

Skryta hra v OpenOffice.org

Kancelarsky balik OpenOffice asi neni potreba predstavovat, zna ho kazdy. Uz podstatne mene lidi ale vi o hre, kterou openoffice obsahuje. Sice to neni nic extra s 3D grafikou, ale na ukraceni dlouhych hodin ve skole to staci. Pro spusteni je potreba otevrit calc (sesit) a do libovolne bunky napsat vzorec

=GAME(„StarWars“)

vzorec

 

Hned pote se spusti hra:
         

Ovladani je jednoduche, zabit ufouny a nenechat se zabit bombou. K dispozici je pet raket. Pokazde, kdyz raketa zasahne nebo vyleti z monitoru, lze ji znova pouzit. Pauza se prekvapive aktivuje klavesou P a hra se ukoncuje pomoci ESC. Po ukonceni hry uz hra nelze znova spustit – je potreba zavrit openoffice, znovu ho spustit a napsat vzorec.

Jedine, co bych vytknul vyvojarum, je chybejici lokalizace u pro me jedne z nejpouzivanejsich funkci.