Tisknutí losů pro plesovou tombolu

Nezařazené

Pořádají vaši známí ples, chtějí pořádat losování o ceny, a čísla losů si chtějí vytisknout sami? Může se stát. Lze zakoupit tradiční bločky s trhacími lístky, ale když má člověk doma tiskárnu a papír, tak proč si to nevytisknout svými silami, a poté nastříhat. Nakonec, třeba chce na každém losu mít místo čísla ještě něco připsáno. A to v papírnictví nedostanete.

Kamarád mi zavolal, že to dostal za úkol, ale že se ve Wordu nemůže dobrat uspokojivého výsledku. Ještě během hovoru mi vyvstala před očima představa, jak mu připravím Word dokument „tak akorát k tisku“, do kterého on bude vpisovat čísla. Stovky čísel. Tisíc čísel. Z toho bych se já zbláznil. On asi také, ale byl odhodlaný to tak udělat. Odradil jsem ho od toho a slíbil mu, že zkusím něco lepšího. Hned jsem totiž dostal lepší nápad.

losy-php2Vytvořit webovou stránku s dlouhou tabulkou, kde každé pole obsahuje číslo, to zvládnu s pomocí deseti řádků PHP kódu. Je to pár řádkový pokyn pro webový server ve smyslu „dvěstěpadesátkrát zobraz čtyřikrát jednu buňku a vždy do ní vlož číslo o +1 vyšší než předtím“. Jednoduché. Nyní mám v prohlížeči dlouhatánskou webovou stránku s tabulkou s čísly, stačí dát tisk a nachystat cca 40 listů papíru do zásobníku.

Ale ouha. Je to jedna dlouhá tabulka přes 40 listů – tiskárně je jedno, co tiskne, a když vyjde řádek na konec listu, bez milosti jej rozdělí. To je nepřípustné, přece nebudeme slepovat rozpůlené losy. Ale jak tomu zabránit? Po chvilce hledání po internetu nacházím experimentální CSS direktivu page-break-inside: avoid; pro tisk v prohlížeči, kdy je „přečuhující“ řádek raději přesunut na začátek příštího listu, než aby byl rozdělen. Ideální řešení! Tato funkce funguje pouze v prohlížeči Internet Explorer, takže se přepínám do něj, a zkouším ji. Přesně jak potřebuji!

losy-break

Kamarád už je spokojený, hned chce nastavit tisk celé tabulky, ale já jej ještě zdržuji. Pokud si nejdříve zapne Náhled tisku, může zrušit dodatečné okraje stránky (a textové záhlaví). Čemu ty tam vadí? Pokud je nechá být, bude vytištěná tabulka na listu papíru odsazena od jeho okraje, a bude nutné ji nejdříve „obstřihnout“, a teprve pak rozstříhat jednotlivé buňky/losy. Pokud se ale okraje zruší, pak tabulka vyplní úplně celou plochu listu (s výjimkou spodního okraje), a stačí ji jen rozstříhat na proužky řádků, a ty na jednotlivé losy. Žádné obstříhávání přebytečného papíru na okrajích.

losy-tisk

Jasné a jednoduché.

Bez této přípravy by kamarád na tímto úkolem strávil možná několik frustrujících hodin práce navíc. Takto jsem já investoval deset minut svého času, po telefonu mu pomohl nastavit správné parametry tisku, a 40 listů losů bylo nachystáno na rozstříhání. Vždy jich naskládal několik na sebe, a stříhal losy najednou. Během několika chvil bylo po všem 🙂

Potěší mě, když se to, co znám a umím, někde opravdu „reálně“ projeví. Zprovoznění webu je pro každého mimo můj obor určitá neuchopitelná záležitost, ale markantní a „hmatatelné“ zjednodušení nějakého praktického úkolu, to už je jiná 🙂

I s takovými „newebovými“ problémy vám dokážu pomoci.

Napsal Marek Klusák, programátor a webdesigner. Kontakt

Další příspěvky v rubrice Nezařazené