V tomto článku sa dozvieš ako som si pomohol pri tvorbe stolového kalendára programovaním. Od ťažkostí a ručného prepisovania až po generovanie.
Už ôsmy rok pripravujem evanjelizačný kalendár – je to kresťanský stolový kalendár. Prvých 6 rokov som ho celý robil ručne. Rok čo rok som ho prerábal podklady ručne. Trošku si to spočítajme:
54 strán kalendárov:
378 x prepísanie mien
378 x prepísania dní
54 x prepísanie veršov a odkazov na verše
xy x úprava sviatkov a farieb dní sviatkov
xy x úprava nadpisov týždňov, niekedy je Feb / Mar a niekedy je len Feb
Takýto proces je náročný na čas a chybovosť. Vždy som si to posúval na neskôr, ale musel som to spraviť. Radšej by som sa sústredil na vybratie správneho veršu.
Lenivosť
Často krát je lenivosť človeka robiť niečo stále dookola to isté motívom pomôcť si a urýchliť proces. Po 6 rokoch tvorby kalendáru som bol demotivovaný znovu ručne všetko prepisovať. Vtedy som začal možnosť hľadať spôsob ako si pomôcť. Však som programátor, to sa musí nejako dať naprogramovať – je to opakujúca sa činnosť prepísanie jedného údaju na druhý údaj podľa nejakého zdroja dát.
Google mi poradí
Začal som vyhľadávať ako by som vedel veci generovať. Kalendár robím v programe Scribus. Našiel som spôsob generovania pomocou Scribus generátora.
Scribus generátor
Ten potrebuje mať na vstupe dve veci.
- scribus template – kde si nastavím premenné
- data súbor – dáta ktoré sa budú vkladať na miesto premenných v scribus template
Ako prvé som si navrhol template. Všetky dáta, ktoré som chcel generovať som napísal vo forme premenných – majú špeciálny tvar v Scribuse:
%VAR_xxx%
kde xxx predstavuje názov stĺpcov v data súbore. Prvý riadok v data súbore sú názvy dát oddelené špeciálnou značkou – je to akoby csv súbor – ja som si vybral špeciálnu značku bodkočiarku.
Každý ďalší riadok predstavuje jednu vygenerovanú stranu kalendáru na základe templatu.
Ukážka dátového súboru:
nazov;slovo;odkaz;tyzdenHore;den1;den2;den3;den4;den5;den6;den7;meno1;meno2;meno3;meno4;meno5;meno6;meno7;sviatok1;sviatok2;sviatok3;sviatok4;sviatok5;sviatok6;sviatok7;obrazok;color1;color2;color3;color4;color5;color6;color7;
01;Nemilujte svet, ani to, čo je vo svete. Ak niekto miluje svet, nieto v ňom lásky k Otcovi.;1Jn 2/15;Dec – Jan 2020 / Týždeň 1;30;31;1;2;3;4;5;Dávid;Silvester;;Alexandra, Karina;Daniela;Drahoslav;Andrea;;;štátny sviatok;;;;;01.jpg;modraDen;modraDen;zelenaSviatok;modraDen;modraDen;modraDen;zelenaSviatok;
Takto by som si mohol tento súbor pripraviť ručne a potom spustiť Scribus Generátor no daný súbor som nechcel robiť ručne.
Na scénu prichádza Java
Pripravil som si jednoduchý program, ktorý používa najmä triedu Calendar a iné veci, ktoré môžeš vidieť trochu vo videu nižšie. Tento program vytvorí dátový súbor a postupne ho naplní hodnotami na základe aktuálneho roku. Programu som podstrčil zoznam veršov, odkazov na daný rok plus zoznam mien a dátumu na ktorý spadajú.
Program som spustil a vygeneroval som dátový súbor.
Scribus Generátor v praxi
Spustím generátor v Scribuse:
Postup:
- nastavím cestu na Scribus template
- nastavím cestu na dátový súbor, ktorý som vygeneroval z java programu
- separátor údajov nastavím na bodkočiarku, teraz je čiarka
- nastavím kde chcem generovať
- chcem generovať do jedného súboru? – ja som zaškrtol, chcem to mať v jednom súbore
- chcem pdf alebo scribus súbory? – ja chcem scribus lebo je potrebné urobiť ručne nejaké úpravy
- dám vygenerovať
Posledný krok a najdôležitejší je radovať sa z vytvoreného diela a využitia programovania na tieto účely.
Záver
Kurzy: https://www.learn2code.sk/instruktori/jaroslav-beno
Ak sa ti článok páči, tak tu máš viac:
Klikaj na jaroslavbeno.sk – na čo čakáš?
Sleduj ma na youtube – nechceš free videá?
Čítaj novinky na facebook – hmm?
Instagram musí byť, či? – instagram.
Niečo z profesionálnej oblasti linkedin.
Ja som Jaro a my sa vidíme, počujeme ak Boh dá nabudúce.
Čaves.