Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: drukowanie bez otwierania
Forum PHP.pl > Forum > PHP
michal_robak
Witam. Mam strone a w niej małą podstronę. Na stronie jest załóżmy link ... drukuj ... i chcem zeby po kliknieciu nastapiło drukowania samej podstrony a nie całej strony + podstrony bo tylko tak mi wychodzi a nie wiem jak to za bardzo zrobic. Szukałem troche na necie ale nie moge znaleźć czegos podobnego. Pomoze ktos
Cezar708
aby wydrukować w przegladarce internetowej musisz stronę otworzyć, czyli musisz zrobić wersję tej strony z tylko tym co chcesz wydrukować.

a ogólnie to:

HTML DOM print() Method
michal_robak
hmm a ja sadzilem ze mozna wydrukowac w przegladarce sam plik html-owy bez jego otwierania... znowu okazuje sie ze nic nie wiem :/
woj_tas
Cytat(michal_robak @ 24.01.2008, 20:37:51 ) *
hmm a ja sadzilem ze mozna wydrukowac w przegladarce sam plik html-owy bez jego otwierania

Jezeli dobrz Cię zrozumiałem to można zrobić to o czym myślisz.

Dla swojej strony przygotowujesz dwa pliki ze stylami. Jeden dla styli które mają być wykorzystywane przez przegladarkę do wyświetlania strony, a drugi dla drukowania

Style dla przegladarki:
  1. <link href="style.css" type="text/css" rel="stylesheet" media="screen" />


Style dla drukarki:
  1. <link href="druk.css" type="text/css" rel="stylesheet" media="print" />



I teraz w stylach do drukowania ustalasz jak ma wygladac drukowana strona. Mozesz usunąc (np. poprzez: display:none) elementy które nie chcesz zeby byly drukowane, itp, itd...

Pozdrawiam
michal_robak
ok reaktywacja wątku smile.gif ... czyli cos takiego muszem zrobic ...

na stronie dodac jak piszesz

  1. <link href="druk.css" type="text/css" rel="stylesheet" media="print" />
  2. >


tylko nie za bardzo czaje jak mma sie odwołać do tych mediów (print). Na necie poczytałem takie cos ze niby mozna dać:

  1. @media print {
  2. BODY { font-size: 10pt }
  3.  
  4. @media screen {
  5. BODY { font-size: 12pt;
  6.  display:none;
  7. }
  8.  
  9. @media screen, print {
  10. BODY { line-height: 1.2 }
  11.  
  12. }


I teraz jak na przykład mam linka do strony zeby to wydrukować to mam robić tak:

  1. <a href="javascript:print('strona')" target="_self">

tak?.

Kolejne pytanie.
Czy można zrobić cos takiego że podając dokument do druku jakoś pobrać jego wysokość i szerokość. Potem uciąć go do od pixela (x,y) do (x1,y1) i zeby tylko to wydrukował co zawiera sie w tym kwadraciku questionmark.gif.
pozdrawiam
nowotny
Cytat(michal_robak @ 3.02.2008, 11:38:38 ) *
ok reaktywacja wątku smile.gif ... czyli cos takiego muszem zrobic ...

na stronie dodac jak piszesz

  1. <link href="druk.css" type="text/css" rel="stylesheet" media="print" />
  2. >


tylko nie za bardzo czaje jak mma sie odwołać do tych mediów (print). Na necie poczytałem takie cos ze niby mozna dać:

  1. @media print {
  2. BODY { font-size: 10pt }
  3.  
  4. @media screen {
  5. BODY { font-size: 12pt;
  6.  display:none;
  7. }
  8.  
  9. @media screen, print {
  10. BODY { line-height: 1.2 }
  11.  
  12. }

Już masz plik stylów do drukowania więc to powyższe cię nie interesuje... to jest tylko jak chcesz zdefiniować style w nagłówku strony...

Np. w normalnej wersji strony masz, powiedzmy takie klasy:
  1. .naglowek{
  2. ...
  3. }
  4.  
  5. body{
  6. ...
  7. }
  8.  
  9. .stopka{
  10. ...
  11. }

Teraz do pliku drukuj.css kopiujesz wszystkie definicje stylów i edytujesz je... Czyli na przykład usuwamy nagłówek is stopkę:
  1. .naglowek{
  2. display: none;
  3. ...
  4. }
  5.  
  6. body{
  7. ...
  8. }
  9.  
  10. .stopka{
  11. display: none;
  12. ...
  13. }



Cytat(michal_robak @ 3.02.2008, 11:38:38 ) *
I teraz jak na przykład mam linka do strony zeby to wydrukować to mam robić tak:

  1. <a href="javascript:print('strona')" target="_self">

tak?.

Nie... przy zastosowaniu media='print' przeglądarka już się sama zatroszczy o usawienie stylu drukowania... Jak użytkownik w swojej przeglądarce kliknie Plik->Drukuj to przeglądarka sformatuje automatycznie stronę za pomocą arkusza drukuj.css... Linki nie są tu potrzebne...
michal_robak
Cytat
Nie... przy zastosowaniu media='print' przeglądarka już się sama zatroszczy o usawienie stylu drukowania... Jak użytkownik w swojej przeglądarce kliknie Plik->Drukuj to przeglądarka sformatuje automatycznie stronę za pomocą arkusza drukuj.css... Linki nie są tu potrzebne...


A jeżeli zależy mi na tym żeby to nie było jako plik->drukuj ale po kliknięciu na odnośnik jak napisałem ?.
nowotny
Cytat(michal_robak @ 3.02.2008, 18:27:27 ) *
A jeżeli zależy mi na tym żeby to nie było jako plik->drukuj ale po kliknięciu na odnośnik jak napisałem ?.

No to musisz utworzyć sobie nową strone (najlepiej dynamicznie) i załadować do niej to co chcesz wydrukować i zaplikować temu arkusz drukuj.css ale już bez media="print"... Z resztą... zobacz sobie jak to robią wszystkie portale...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.