Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wersja do druku
Virber
post 14.10.2011, 20:14:53
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.03.2011

Ostrzeżenie: (0%)
-----


Witam w jaki sposób mogę na stronie zrobić "wersje do druku" czyli aby konkretna tabela za pośrednictwem "ikonki" były generowane do pdf-a a innej bezpośrednio do drukarki questionmark.gif

prosze o pomoc.
Go to the top of the page
+Quote Post
CuteOne
post 14.10.2011, 21:19:59
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Aby drukować tylko wybrane elementy strony poczytaj o media w linkach do stylów i tajemnej opcji display:none. Dla PDF robisz to samo załączając odpowiedni plik css
Go to the top of the page
+Quote Post
croc
post 14.10.2011, 21:55:46
Post #3





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

Ostrzeżenie: (0%)
-----


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


Tak jak kolega powyżej napisał, pobaw się display: none. Przeważnie nie ma sensu tworzyć wersji PDF - to wymaga sporo pracy i przydaje się raczej do ważnych dokumentów typu faktury, gdzie chcesz mieć 100% pewność jak ma wyglądać strona po wydruku. smile.gif

Możesz dodać link do instrukcji JavaScript, w stylu:
  1. <a href="java script:self.print()">Drukuj</a>
(oczywiście bez spacji w java script: - edytor tego forum sam ją dodaje o0

Ten post edytował croc 14.10.2011, 21:57:42
Go to the top of the page
+Quote Post
marcin3ech
post 17.10.2011, 00:14:47
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.10.2011

Ostrzeżenie: (0%)
-----


Zrob dokladnie tak, jak moi przedmowcy Ci napisali.

Rozszerze tylko ich tok myslowy nieco, by rozjasnic sprawe poczatkujacym adeptom wink.gif.

W pliku CSS (o ktorym wspomnial croc) wstaw definicje klasy:

  1. .no-print {
  2. display: none
  3. }

Teraz do kazdego elementu strony, ktory ma nie byc drukowany dodaj klase .no-print i po sprawie.

Czyli jesli miales np. taki element:
  1. <div class="left_col"> ... tu kontent lewego menu </div>

to dodajesz nazwe klasy w ten sposob
  1. <div class="left_col no-print"> ... tu kontent lewego menu </div>

czyli bez kropki!!! wink.gif. Niby jasne, a ludziska czasem zapominaja o tym.

Klasycznym przykladem jest drukowanie samego kontentu z typowej 3-kolumnowej struktury. Czyli wszedzie tam, gdzie nie chcesz aby na wydruku znalazy sie reklamy, menusy i inne bajery.
Pamietaj jednak, ze moze sie okazac, ze konieczna bedzie modyfikacja niektorych styli, poniewaz wersja do druku "rządzi" sie (mam nadzieje ze ten kolokwializm koledzy wybaczą wink.gif ) swoimi prawami. I to co zobaczysz w wersji do druku bedzie zgola inne od tego co masz na stronie. Chodzi mi tu np. o: wielkosc czcionek, kolory, obramowania divow i tabelek, byc moze tez marginesy, czy chociazby wszystkie obrazki zdefiniowane w stylach jako background-image.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2025 - 03:51