Je možné z webové aplikace tisknout štítky nebo vstupenky?

Webová aplikace může tisknout také nestandardní tiskové sestavy jako různé etikety, štítky, či vstupenky a není důvod ji kvůli požadavkům na tisk nahrazovat desktopovým řešením a připravit se tak o další výhody při jejím použití …

Je možné z webové aplikace tisknout štítky nebo vstupenky?

Tisk z webové aplikace

Při návrhu informačního systému často místo webové aplikace volíme desktopové řešení z důvodu pokročilých požadavků na tisk. Přitom je možné z webové aplikace plnohodnotně tisknout také speciální tiskové sestavy na různé nestandardní formáty pomocí speciálních tiskáren. Jen je někdy potřeba použít technologie, které nám otevřou další možnosti tisku z webové aplikace.

Běžné A4 tiskové sestavy se často tisknou z webové aplikace pouze pomocí tisku přímo z webového prohlížeče. Tento způsob tisku ale může být problematický a to zejména u tisku různých nestandardních tiskových sestav. Může to být například tisk vstupenek, etiket, samolepících štítků na štítkové tiskárně, nebo tisk dokumentů na předpřipravené formuláře jako daňové přiznání, podací či dobírkový lístek na poštu nebo různé nalepovací štítky ze skladových a logistických informačních systémů, případně potisk čipových karet pro docházkový systém a další. U všech těchto sestav je důležité, aby byla tisková sestava dobře vyladěna a aby se jednotlivé prvky sestavy tiskli správně, ve správné velikosti a rozlišení a na správném místě. Tento požadavek se ale při tisku z webové aplikace (kdy vlastně prostřednictvím webového prohlížeče tiskneme webovou stránku) někdy těžko realizuje a jeho realizace je těžko udržitelná.

Tisk z webové aplikace přes webový prohlížeč

Často je při implementaci webových aplikací otázka tisku ponechána pouze na webový prohlížeč. Když uživatel přistoupí na nějakou akci (URL adresu) webové aplikace, je v HTTP odpovědi vráceno přímo HTML, které se v prohlížeči interpretuje a vznikne tisková sestava. Uživatel pak přímo v prohlížeči klikne na možnost tisku webové stránky a ta se vytiskne na vybrané tiskárně klasickým způsobem za pomocí funkcí operačního systému.

  • Tento způsob je jednoduchý na implementaci, vlastně není potřeba implementovat nic navíc. Pouze se ve webové aplikaci připraví tisková sestava.
  • Tento tisk se hodí spíš pro tisk dokumentů určených pro standardní formát papíru (často A4) na standardních kancelářských tiskárnách, kdy nám až tak moc nezáleží na přesnosti, umístění a rozměrech tisknutých prvků. Tisk je závislý na prohlížeči a žádný tvůrce webové aplikace nedokáže garantovat jednotné chování ve všech prohlížečích a ve všech verzích prohlížeče. S aktualizací prohlížeče se může stát (velmi často se stává), že se lehce změní vzhled dokumentu a tedy to, jak prohlížeč renderuje tisknuté HTML.
    Této závislosti se lze částečně zbavit použitím formátu PDF, do kterého se vygeneruje dokument na straně serveru. PDF je univerzální formát dokumentu, který se pak vytiskne stejně bez ohledu na softwarové vybavení na straně klienta. Generování PDF bude závislé na softwarové knihovně použité na straně serveru přímo ve webové aplikaci a může jej ovlivňovat tvůrce webové aplikace. Při tisku PDF ale můžou být vyžadovány kromě tiskového dialogu ještě další akce uživatele (otevření PDF může vyžadovat kromě prohlížeče další aplikaci). To může být v provozech, kde nám jde také o rychlost, nevhodné.
  • Další nevýhodou může být, že je nutné při tisku potvrzovat tiskový dialog (v prohlížeči, případně přímo v operačním systému), co zdržuje uživatele v provozech s důrazem na rychlost a navíc to může vést k dalším chybám uživatele. Toto chování lze omezit použitím nějakého existujícího rozšíření prohlížeče (například JSPrintSetup pro Firefox). Webová aplikace se pak stane ale závislá také na tomto dalším systému třetí strany (nebo lépe čtvrté?). Pak se může stát, že vyjde nová zpětně nekompatibilní verze prohlížeče a autor toto rozšíření neupraví pro tuto verzi (jako tomu bylo u zmíněného JSPrintSetup). Použití rozšíření do prohlížeče také zavádí další požadavky na software na klientské straně.

Tisk z webové aplikace na klientské straně

Z pohledu udržitelnosti kvality tisku (ve významu sestavení dokumentu k tisku) je nejvýhodnější obejít tisk přes webový prohlížeč, případně PDF a tisknout přímo na klientském PC přes vlastní prvek (aplikaci / program / skript) používající SDK od výrobce tiskárny. Protože jsme v prostředí webu, je výhodné to řešit vytvořením a zavedením nového protokolu v operačním systému, případně vytvořením vlastního doplňku pro webový prohlížeč. Pak, když uživatel přistoupí na nějakou akci (URL adresu) webové aplikace, spustí se tento prvek (aplikace / program /skript) v prostředí uživatelského PC. Webová aplikace mu předá parametry (tisková data) a za pomocí SDK od výrobce tiskárny prvek vytiskne nadefinovanou tiskovou sestavu.

  • U tohoto způsobu tisku je nejlepší kvalita tisku a také je nejlépe udržitelná. Řešení je úplně bez závislosti tisku na webovém prohlížeči a bez ohledu na jeho interpretaci HTML vždy tiskneme stejnou tiskovou sestavu. V tomto ohledu se řešení kvalitou a provedením tisku vyrovná desktopové aplikaci (jakou prvek, který na straně klienta tiskne, vlastně je).
  • Toto řešení zavádí další požadavky na klientský software. Webová aplikace jako taková vyžaduje na klientské straně pouze webový prohlížeč a ten je standardní součástí téměř každého klientského PC. Pokud bychom zvolili řešení pomocí protokolu operačního systému, omezili bychom uživatele na použití pouze toho operačního systému, pro který bychom protokol vytvořili, případně bychom jich museli vytvořit více pro každý OS. To samé platí v případě použití doplňku do webového prohlížeče. Buď bychom vyžadovali konkrétní prohlížeč, nebo bychom museli implementovat doplňků více. Také u obou řešení musí být to dané řešení nainstalováno na uživatelském PC (to může být problematické, pokud uživatelské PC nejsou pod správou provozovatele webové aplikace).
  • Řešení je omezeno tím jaké a jestli vůbec výrobce tiskárny poskytne SDK k použité tiskárně. Ne ke všem tiskárnám výrobce poskytuje SDK a také může poskytnout SDK pouze pro některé programovací jazyky. Ne každá tiskárna může umožňovat takto tisknout a je potřeba tedy vybrat vhodnou tiskárnu, se kterou lze toto řešení implementovat.
  • Tento způsob je komplikovanější na implementaci a ne každý dodavatel webové aplikace může mít v portfoliu také tvorbu podobných aplikací.

Tisk z webové aplikace na serveru

Toto řešení uvádím pouze jako teoretické. Spočívá v tom, že uživatel, který používá webovou aplikaci, dá sice prostřednictvím webové aplikace pokyn k tisku, ale tiskárna bude připojena k serveru a tisknout se bude přímo na serveru, kde běží webová aplikace za použití SDK od výrobce tiskárny. Možná by se mohlo hodit v určitých případech, kdy by byla malá fyzická vzdálenost mezi serverem s webovou aplikací a klientem. Například v jedné výrobní hale by bylo umístěno 10 pracovišť, kde by prostřednictvím webových prohlížečů uživatelé používali webovou aplikaci umístěnou na serveru, který by byl fyzicky v té samé hale a byla by k němu připojena třeba tiskárna štítků. Toto řešení je ale velmi nestandardní a pokud to je možné, vyhnul bych se mu.

Možnosti pro tisk z webové aplikace je více a závisí na konkrétním použití. Pokud budete tisknout pouze jednoduché sestavy na standardní formát, je nejjednodušší nechat to na prohlížeči. Pokud ale zvažujete nestandardní formáty nebo tiskárny, je optimální řešení implementovat nějaký doplňkový prvek v podobě aplikace, programu, nebo skriptu pro klienta.

Michal Strelec,

Ing. Michal Strelec |
michal@strelec.pro |
+420 608 407 544

Poslat zprávu Reference

Jsem softwarový inženýr na volné noze a zkušený vývojář informačních systémů a webových aplikací na míru. Nabízím dlouhodobé a spolehlivé partnerství při vývoji, provozu, rozšiřování a podpoře softwarového řešení. Mám přes 15 let zkušeností a úspěšně jsem realizoval více než 35 projektů webových aplikací a informačních systémů. Kancelář mám v hlavním městě Praha, své služby ale poskytuji také na dálku po celé České republice.

Zajímá Vás více informací?

Přečtěte si podrobněji, jak budeme postupovat při vývoji softwaru na míru, nebo si stáhněte moji vizitku s podrobnými informacemi v PDF. Pokud Vás blíže zajímá moje práce, prohlédněte si moje reference, nebo mě kontaktujte a zeptejte se na více informací …

Další podobné články

Vlastní řešení nebo software jako služba?

Vlastní řešení nebo software jako služba?

Pokud je to možné, dělám zákazníkům nabídku na dva způsoby spolupráce při vývoji a provozu softwaru na míru. Porovnejte jednotlivé aspekty vývoje a provozu vlastního softwarového řešení na míru s poskytováním softwaru jako služby …

Informační systém na míru sám posbírá objednávky od partnerů přes API

Informační systém na míru sám posbírá objednávky od partnerů přes API

Rozsáhlou síť prodejních kanálů nebo obchodních partnerů prodávajících Vaše služby Vám pomůže zkrotit informační systém na míru, který bude automaticky sbírat objednávky bez zásahu obchodních zástupců nebo dispečerů …

Vývoj udržitelného webového crawleru

Vývoj udržitelného webového crawleru

Mnozí to často zkouší s až kuriózně nízkým rozpočtem a s nedostatečnou představou o fungování webového crawleru. Pojďme shrnout na co je dobré se zaměřit při poptávce a vývoji dlouhodobě udržitelného webového crawleru …

Partner pro vývoj softwaru na míru

Partner pro vývoj softwaru na míru

Hledáte partnera pro vývoj softwaru na míru? Poskytujete služby nebo produkty v oblasti IT a Vaši zákazníci u Vás poptávají také vývoj na míru, ale Vy se mu nechcete nebo nemůžete na plno věnovat? Nevadí, rád Vám jako Váš partner pro vývoj softwaru na míru pomůžu s Vašími projekty …

Informační systém pro automatickou fakturaci

Informační systém pro automatickou fakturaci

Už nebudete muset každý měsíc manuálně vystavovat faktury všem zákazníkům. Informační systém vše ohlídá za Vás, automaticky vystaví faktury, odešle zákazníkům a zkontroluje, jestli zaplatili …