2011-07-17 14 views
7

Chcę wydrukować <p:dataTable>, więc używam <p:printer>, ale chcę pominąć drukowanie skóry i sprawić, że będzie wyglądać jak <h:dataTable> . Jak mogę to zrobić?Jak przekonwertować PrimeFaces p: dataTable na standardowy h: dataTable (bez skóry), a następnie wydrukować go

Czy możliwa jest zmiana orientacji papieru na wydruku? Chciałbym wydrukować go jako krajobraz zamiast portretu.

<h:outputLink id="lnk" value="#"> 
    <p:printer target="tbl" /> 
    <p:graphicImage value="http://www.primefaces.org/showcase/images/print.png" /> 
</h:outputLink> 

Nie znalazłem odpowiedniego atrybutu w tagu <p:printer>.


Aktualizacja: Przepraszam Nevermind <p:printer> może być stosowany na <h:dataTable>, tak więc można też po prostu odpowiedzieć tylko na pytanie drugie.

Odpowiedz

7

Na oba qustiony odpowiada CSS @media print rule. Pozwala na określenie stylów CSS, które są specyficzne dla wydruków. Możesz osadzić te reguły w normalnym pliku arkusza stylów CSS lub w zwykły sposób jako element <style>.


chcę wydrukować <p:dataTable>, więc używam <p:printer>, ale chcę, aby pominąć drukowanie skórę i sprawiają, że wygląda jak <h:dataTable>. Jak mogę to zrobić?

Lookup classname z <p:dataTable> i zastąpić go w @media zasady:

@media print { 
    .primeFaces-dataTable-className { 
     border: 0; 
     margin: 0; 
     padding: 0; 
     background: none; 
     color: black; 
    } 
} 

Istnieje prawdopodobnie więcej, nie wiem to wszystko od czubka głowy, powinieneś być w stanie sprawdź używając Firebug lub narzędzi programistycznych Chrome, jaka nazwa klasy została użyta i które właściwości zostały ustawione, abyś wiedział, które ustawienia należy zresetować na 0, none lub inne ustawienia domyślne.


Ponadto, jest to możliwe, aby zmienić orientację papieru w druku? Chciałbym wydrukować go jako krajobraz zamiast portretu. Użyj CSS.

Zgodnie CSS 2.1, można określić w następujący sposób:

@media print { 
    @page { 
     size: landscape; 
    } 
} 

ta ma jednak szczególne utrudnienia przeglądarki, to nie jest obsługiwana w FF i MSIE < = 7. Aby obejść ten problem, sprawdź zaakceptowaną odpowiedź na to pytanie: Landscape printing from HTML

+0

wow. Dobrze jest wiedzieć, –

+0

hm fajna odpowiedź naprawdę thx, ale mam jeszcze jedną :). Kiedy mam dużo informacji na ekranie, drukowana jest tylko jedna strona i inne informacje są tracone. czy wiesz, jak rozwiązać ten problem? – hudi

Powiązane problemy