Autor Zpráva
janek007
Profil
Ahoj,

mám třeba stránku hezky barevnou stranka.php?zaznam=1 a chtěl bych tam mít tlačítko pro tisk které by otevřelo jinou stránkku třeba ztranka_tisk.php?zaznam=1 v takovém tom dočasném okně vyskočila by nabídka pro tisk a po potvrzení tisku by se to zase zavřelo.
Současně používám javaScript:printPartOfPage() které mi vytisklo pouze část stránky podle id. . Ale po předělání stránek už mi to nevyhovuje a potřebuji stránku vygenerovat černobíle nejlépe právě v samostatném souboru.

Hledám a nemůžu nic najít. Holt pátek.

děkuji
Keeehi
Profil
Na to by ale přece měly úplně stačit tiskové styly a nemusíš řešit žádná nová okna.
janek007
Profil
Keeehi:
Stylem to nejde, nebo by to bylo moc složité. Pro tisk potřebuju vygenerovat trošku jiná data než jsou vidět na obrazovce. Tisk z jiného php souboru mi příde jednodušší.
Tomášeek
Profil
janek007:
by to bylo moc složité.
To je divné. Tiskový styl se naopak tvoří poměrně snadno, počínaje skrytím nechtěných částí webu a dostylováním ostatních (typicky čerrnobílá varianta).

potřebuju vygeenrovat trošku jiná data
To je ještě divnější. Mám stránku, na které vidím informace "ABC", dám tisknout (abych tyto informace ukázal někomu jinému, nebo si je schoval na později) a vytiskne se mi "DEF"? Toto chování tisku nečekám a je to škoda papíru.
janek007
Profil
Je to z důvodu šetření papíru. Na monitoru je to zdarma, takže tam zobrazuju více informací a jinak rozložené(přehledněji). Ale pro tisk je to potřeba všechno důležité dostat na jednu A4 takře víc namačkat na sebe a vedle sebe a některé nedůležité informace vynechat. Je to pro intraweb ke stroji, né pro veřejný web, takže ty důvody, proč chci tisknout něco jiného, než je na stránce prostě jsou.

Zkouším něco hledat v jquery, tak snad si nějak poradím, když mi místo rady jak to udělat kritizujete nápad proč to tak dělat.... Díky
Téma možno smazat.
Tomášeek
Profil
janek007:
na jednu A4 takře víc namačkat na sebe a vedle sebe a některé nedůležité informace vynechat.
Ano, k tomu slouží přesně tiskový styl, nikoliv nový dokument.

Co se zobrazit nemá, má display: none. (Téměř) všechno má color: #000; background: #fff;, odkazy jsou zpravidla podtržené. Na nahuštění informací slouží buď klasicky float (pro víc bloků vedle sebe), nebo jiné styly.

Pořád zde ale nevidím potřebu pro jiný obsah (nikoliv redukovaný, ten je v pořádku a i to v #5 píšeš), ani tvorbu sólo dokumentu.
_es
Profil
janek007:
Téma možno smazat.
Čo si hneď taký urážlivý, snažili sa ti poradiť, ako najlepšie vedeli, čo má návštevník z toho, že mu budú automaticky otvárané a zatvárané nejaké vyskakovacie okná, chceš predsa, aby mal možnosť niečo vytlačiť, na to to špeciálne okno nie je treba. Môže to mať však nejaké opodstatnenie, ak sa tlačí málokedy a generovanie výstupu na tlač je jednoduchšie spraviť v PHP a až keď je vyžiadaná tlač a pod. No vtedy asi nemá veľký praktický zmysel automatické vyvolanie dialógu na tlač - je možné využiť, že návštevník vidí, čo sa asi bude tlačiť priamo na stránke a na tlač dať tlačítko (ktoré sa samozrejme nevytlačí). Podobne asi nemá zmysel automatické zavretie okna - návštevník môže chcieť tlačiť opakovane.
Máš viac možností:
Bez nového okna:
- Už spomenutý špeciálny tlačový štýl a tlačenie toho istého dokumentu.
- Tlačenie dokumentu z iframe na stránke - iframe môže byť aj skrytý.
S novým oknom:
- Obyčajný odkaz s target=_blank a v novom dokumente použiješ window.print, či už v reakcii na tlačítko alebo „automaticky“ do JS skriptu na koniec stránky.
- Ak chceš pomocou JS aj zavrieť okno, musíš ho otvoriť pomocou window.open.
janek007
Profil
Už sem to částečně vyřešil pomocí tohoto příkladu www.codebelt.com/jquery/open-new-browser-window-with-jquery-custom-size
Nové okno se otevře, tak ještě vyhodit okno pro tisk a je to.

No já jsem průmyslovej programátor a to ještě né PHP, to prostě dělám jen bokem. Řešit něco přes CSS je pro mě strašně zdlouhavé, protože řadu věcí neznám a musím pořád googlit.
Pro efektivnost času v práci je pro mě o hodně snažší prostě tu stránku pro tisk vygenerovat v samostatném souboru bez stilů pomocí <table border="1" cellspacing="0">.
Za ten výpad se omlouvám, ale píšu to tu několikrát od začátku, že to chci řešit takto a přesto jsem furt nucen to dělat jinak i když nechi. Chápu důvod, snaží se mi poradit nejlepší řešení. Ale to není pro každého. Bez lepší znalosti CSS je to pro mě spíš přítěž a nemám čas to tu ladit několik dní.
Nějakou uživatelskou přívětivost řešit taky nemusím. Je to jen doplněk pro zobrazení výroby k velkému stroji, né web, kam budou chodit každej den lidi. Takže zmáčknout tisk, vyskočí nové okno s náhledem, přes ten formulář na potvrzení tisku a po potvrzení se vše zavře je pro tento případ plně dostačující.
_es
Profil
janek007 [#8]:
Na to predsa vôbec nemusíš do toho montovať jQuery, podstatné je otvorenie pomocou window.open. Tlačenie a zavretie okna ti jQuery tiež nijako nezjednoduší.

vygenerovat v samostatném souboru bez stilů pomocí <table border="1" cellspacing="0">.
To ale sa potom môže výsledok tlače v rôznych prehliadačoch viac odlišovať.
janek007
Profil
To je možné, tak daleko do toho nevidím.
Ale používáme PC kde je instalována stále stejná verze FF. Takže když to odladím tak aby to nějak vypadalo bude to tak vypadat stále. V tom je krása, kdybych se měl zabývat ještě vzhledem v různých prohlížečů, tak bych se z toho zbláznil :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0