Tisk stránky   zodpovězená otázka

ASP.NET WebForms

Chtěl bych se zeptat, jak vytisknu asp stránku. Nejsou to žádná databázová data, pouze text umístěný v komponentách Label (samozřejmě se zachováním formátování z externího css souboru).

Díky za odpověď

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Stránku můžete vytisknout pomocí webového prohlížeče. Ze stránky lze tisk vyvolat pomocí javascriptu:

<a href="javascript:window.print()">Tisk</a>

Pro ovlivnění podoby můžete používat CSS. Pokud chcete při tisku skrýt některé části, nebo změnit jejich podobu oproti zobrazení na monitoru, tak lze CSS stylu říct, zda platí pro monitor nebo tiskárnu - viz http://www.aspnet.cz/Articles/81-jak-pri...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Neuvedl jsem ještě, že stránka je uvnitř master page, takže je metoda window.print() nepoužitelná. Zřejmě to budu muset pořešit zvláštní tiskovou verzí, jak se píše v článku, na který odkazujete.

Lze tedy nějak tisknout z určeného zdroje, který však není zobrazen v prohlížeči? Našel jsem pouze návody, které radí stránku nejprve otevřít a na konci vložit kód pro tisk. Otevření stránky mi ale přijde velmi nešikovné.

Pomohla by i nějaká rada, jak vytisknout stránku bez master page. Formátování pro tisk už bych si nějak upravil.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nechápu proč by měl být problém umístění stránky do masterpage? Do webového prohlížeče se stejně odešle jedno složené HTML, kde není rozdíl mezi tím, zda se jedná o samostatnou stránku, nebo stránku s masterpage.

U webové aplikace nemůžete s klientem komunikovat jinak než pomocí stránek, které se mu zobrazují ve webovém prohlížeči. Nemůžete ze strany serveru přímo tisknout na jeho tiskárně apod. To je z principu nemožné. Otevření samostatné tiskové stránky se mi zdá praktické - uživatel vidí předem co bude tisknout. Pokud si nevystačíte s tiskem HTML, tak by bylo nutné použít nějaký reportovací systém - podívejte se na toto video http://www.mstv.cz/vyvojari/videos/136/V...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Výše uvedený tisk není věc ASP.NET, ale prohlížeče, a tomu je úplně jedno, jestli je ta stránka uvnitř MasterPage anebo ne, on o tom ani neví. Uvedené volání pouze zobrazí okno Tisk pomocí javascriptu, klient si pak vybere tiskárnu a vytiskne si to, co vidí v okně prohlížeče.

Pokud vám tohle nevyhovuje a chcete dělat pořádné tiskové sestavy, nejčastějším řešením je vygenerování nějakého PDF případně DOC/DOCX souboru, který dáte klientovi na stažení a on si ho opět sám vytiskne.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback