Portál AbcLinuxu, 14. listopadu 2025 00:56
Třetím rokem provozuji internetový obchod, návštěvnost roste, zákazníků přibývá a já se cítím jako sekretářka. Padesát procent mé práce totiž pokrývá vyplňování poštovních dokladů - složenek a podacích lístků. Neustále sháním efektivní řešení pro tisk těchto dokladů, pod linuxem je to ale tvrdý ořech...
Programů pro tisk dokladů pod Windows existuje veliké množství a nejsou ani příliš drahé (cena do 500 Kč). Měl jsem možnost zkoušet asi pět z nich, bohužel ani jeden nešel spolehlivě emulovat, všechny padaly (pokud se je vůbec podařilo rozjet). Snažil jsem se sehnat alespoň šablonu pro Open office, jediná dostupná je však na složenky typu C a navíc je nefunkční.
Mé požadavky nejsou nikterak náročné. Stačí mi tisk dobírkových pokázek typu A, podací lístek vyplním rychle (navíc by mi jej nežrala moje tiskárna). Data bych potřeboval vkládat ze souboru, třebas XML nebo v čistém textu - takto je totiž mohu snadno vyexportovat z obchodu. Nerad bych všechny údaje vypisoval ručně po kolonkách.
Pokud byste někdo věděli o schůdném řešení, byl bych velice vděčný za Vaši pomoc. Byl bych ochoten klidně investovat rozumnou částku do vývoje prográmku nebo scriptu, který by to dokázal. Domnívám se, že zajímců by bylo hodně.
Vyřešeno
Postupoval jsem takto: vzal jsem odt šablonu, přejmenoval na zip a vykuchal soubor content.xml (asi všichni víte, že odt soubory openoffice jsou vlastně zipové archívy, v nichž se skrývá obsah dokumentu v jednotlivých xml souborech, obrázcích atp.). Vytvořil jsem jednoduchý php script, do nějž posílám z eshopu proměnné jako adresa zákazníka, číslo objednávky atp, script z toho udělá nový content.xml, který zazipuje s příponou odt a pošle do prohlížeče. Voala, soubor otevřu v openoffice a je tam předvyplněná složenka připravená k tisku.
Tiskni
Sdílej:
No nevím, nemyslím si, že by to byl problém. Jen se to bude asi muset udělat na konkrétní tiskárnu a stylem pokus-omyl by se udělalo šablona k tomu html generovanýmu z RS obchodu.
Jinak jestli se musí tisknout na hotový doklad, tak jiné řešení nevidím. Resp. šablony do OO a další budou na stejné brdo s tím, že se bude muset skriptem (nebo jinak řešit) automatizace vyplnění té poukázky - prostě to udělat tak, aby to ušetřilo čas proti ručnímu vyplňování.
Jakmile dela nekdo s TeX beznejc, tak tam ty boxy naseka urcite napoprve dobre, ale v tomhle jsem prave radsi navrhnul PS, protoze ten je pro me jednodussi. TeX bych nechal spis na profesialni sazbu dokumentu.
Ale muzeme oba neco zkusit a at si skaven vybere
. Kdyz jsem premyslel, co s tim udelam, tak jsem si rekl, ze si to radeji napisu sam.
Nakonec jsem to vyresil tak, ze jsem generoval bitmapy s pozicemi presne odectenymi z naskenovaneho podladu pomoci jednoducheho PHP skriptu upraveneho ze stranky, ktera mela puvodne generovat elektronicke pohlednice (zakaznik nakonec chtel tolik ruznych featur, ze to nakonec skoncilo jako Flash) pomoci GD a Freetype. Je pravda, ze PHP na tohle neni optimalni jazyk, ale stejne skoro vsechno delala GD knihovna a byla skoda to nepouzit, kdyz uz jsem se s tim psal, ne?
Ciste teoreticky staci cokoliv, co dokaze vygenerovat bitmapu, pripadne Postcript, pokud je tiskarna laserova (ta nase byla inkoustova, protoze laserova ty stitky pokazde "upekla" a ty pak odmitaly drzet), a dokaze umistit vektorove generovana pisma (Type1, Truetype, Freetype atd.) na presne pozice.
. Tak jsem to vyřešil po svém. V OO Writeru jsem si udělal "šablonu" a vyplňuju je "ručně". Je pravda, že pro trojlístek: podací lístek, dobírková složenka, cár papíru na balík jsem musel 3x kopírovat adresu zákazníka, ale rozhodně to bylo ušetření práce než vypisovat to propiskou. Můžu ty "šablony" zaslat. Vlastně to asi není šablona v pravém slova smyslu, ale účel plní. Jsou bo boxy s určitými souřadnicemi. Když jsem měl na chvíli jinou tiskárnu, tak jsem si vytiskl jeden exemplář zkušebně a pouze jsem o určitý počet mm změnil pozice (každá tiskárna to má jinak). Jinak jestli se v další pětiletce (možná i za víc pětiletek) dostanu na magisterské studium, tak bych nějaký "form filler" pro Linux chtěl udělat jako diplomku, se spojením na db atd. Sice to v té době už nebudu potřebovat, ale nu což
.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.