Blog Stolový kalendár a programovanie?

Stolový kalendár a programovanie?

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.

  1. scribus template – kde si nastavím premenné
  2. 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:

  1. nastavím cestu na Scribus template
  2. nastavím cestu na dátový súbor, ktorý som vygeneroval z java programu
  3. separátor údajov nastavím na bodkočiarku, teraz je čiarka
  4. nastavím kde chcem generovať
  5. chcem generovať do jedného súboru? – ja som zaškrtol, chcem to mať v jednom súbore
  6. chcem pdf alebo scribus súbory? – ja chcem scribus lebo je potrebné urobiť ručne nejaké úpravy
  7. dám vygenerovať

Stolový kalendár a programovanie? 5

 

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.

Dobrý článok? Chceš dostávať ďalšie?

Už viac ako 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.

Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

Tvoj email neposkytneme 3tím stranám. Posielame naňho len informácie z robime.it. Kedykoľvek sa môžeš odhlásiť.

Senior Java Developer

JOB Position: Java Developer Contract type: Contract Location: Bratislava, Košice, on-site Salary: 5000+ EURSuitable for the whole team.Primary Job Functions:Analyze and troubleshoot...

NetApp Admin

JOB Position: NetApp Admin Contract type: full-time Place of project: Homeoffice - remote with occasional visits to Germany, Slovakia – 5% onsite...

SCCM Specialist

Základné informáciePozícia: SCCM Specialist Pracovný pomer:  TPP, Živnosť Miesto práce: 95% Home-Office - 5% on-site Bratislava/Nemecko Plat: Medior od 2400+ EUR/Brutto/mesačne Senior od 4000+...

Jurior/Senior CRM ABAP Developer

Základné informáciePozícia:  CRM ABAP Developer Pracovný pomer:  TPP Miesto práce: Bratislava Plat: od 2000+ EUR/mesačneČo by si mal vedieť:aspoň 3-ročné skúsenosti...

Java Developer / Energerické odvetie / Košice

PRÁCA Pozícia: Java developer Pracovný pomer: TPP, Kontrakt Miesto práce: Košice, on-site Plat: Medior od 1.500 EUR Senior od 2.200 EUR FIRMA Odvetvie: Energetika Tím: 3-5 ľudí Firma: 70-80...

DBA Admin / 95% Home-Office – 5% on-site

Základné informáciePozícia: DBA Admin Pracovný pomer:  TPP, Živnosť Miesto práce: 95% Home-Office - 5% on-site - Bratislava/Nemecko Plat: od 2400 - 4000+...

Senior SAP Basis Consultant / 95% Home-Office – 5% on-site

Základné informáciePozícia: SAP Basis Consultant Pracovný pomer:  TPP, Živnosť Miesto práce: 95% Home-Office - 5% on-site Btaislava/Nemecko Plat: od 2.800+ EUR/Brutto/mesačne Jazyk: Nemecký...

Živé IT projekty: Zmena môže prísť z najjednoduchšieho nápadu

https://youtu.be/U3k1JBhX5qYPredstavte svoj tím!V tíme pracovali: Peter...

Slovensko.Digital k plánu využiť údaje od mobilných operátorov pri riešení krízového stavu šírenia koronavírusu.

Slovensko.Digital je členom poradného orgánu centrálnej koordinačnej autority pre oblasť IT, ktorá...

Michaela Patoprstá: Ľudia v IT sú proste rodina

Ahojte 🙂 Volám sa Michaela, pochádzam z Bratislavy a aktuálne pracujem ako test manažér v spoločnosti Cleverlance....

Čítaj ďalej:

Dobrý článok? Chceš dostávať ďalšie?

Už viac ako 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.

Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

Tvoj email neposkytneme 3tím stranám. Posielame naňho len informácie z robime.it. Kedykoľvek sa môžeš odhlásiť.