Ustawinie rozmiaru drukowania strony www

0

Witam,
szukam rozwiązania na zdefiniowanie rozmiaru drukowanej strony www. Chodzi mi np o wydrukowanie tylko środka strony, resztę żeby pomijało, nagłówek i stopkę, ewentualnie inne linijki tekstu itd. Ma może ktoś jakiś pomysł albo może ktoś kiedyś bawił się w podobny rzeczy?? CSS wydaje mi się że odpadają, może PHP albo w javiescript, ale tego jeszcze nie wiem, muszę szukać.

0

Możesz przygotować arkusz css, który określa jak strona ma wyglądać na drukarce.

<link rel="stylesheet" type="text/css" href="css/printer.css" media="print" /> obowiązuje tylko dla drukarki. W tym arkuszu możesz np. ukryć nagłówek: #header {display: none;}

W internecie można znaleźć sporo informacji na ten temat.

Zobacz jak to mam zrobione np. przy artykule, który do wydruku idzie bez menu, ramek itp.:
http://dembnicki.pl/poradnik/usg-4d

0

faktycznie, prosta sprawa :) wiedziałem o tej metodzie, ale stawiałem, że jeżeli to są CSS'y to nie będą tak dokładne, ale nie jest źle :) Nawet jest wypas :D Po wciśnięciu buttona z czy CTR + P działa jednakowo, dzięki bardzo za pomoc. Ułatwiłeś mi zadanie, na Twoim przykładzie ładnie było wszystko pokazane, bardzo fajnie. Mam tylko na górze jakieś nie potrzebne napisy, w podglądzie poddruku, one zostaną ? ;/ bo trochę to przeszkadza mi :D pozdrawiam

0

Niepotrzebne napisy? Wszystkie przeglądarki standardowo drukują u góry strony tytuł i numer strony, a na dole adres i datę. Jeśli Ci chodzi o to, to raczej z poziomu strony tego się nie pozbędziesz. Chyba, że zapomniałeś czegoś "wyłączyć"....

0

Nie niczego nie pominąłem, na górze jest adres strony i data na dole, ale te elementy musi dodawać przeglądarka ;/ Piszę system i potrzebny mi jest nadruk bez tych elementów. tak, że opcja z CSS'am chyba odpada :( Nie mam drukarki, żeby wydrukować to i sprawdzić jak jest w rzeczywistości, ale pewnie tak samo :] Cholerkaaa... ach te przeglądarki, tak było by cacy.

0

A po co Ci drukarka? Przeglądarki mają podgląd wydruku, możesz też w ustawieniach strony wyłączyć drukowanie niepotrzebnych rzeczy (adres, data, numer strony itp.).

0

To nie wersja z css-em odpada, bo każdy sposób druku z poziomu przeglądarki zostawia te elementy. Możesz je wyłączyć z poziomu komputera - w ustawieniach wydruku.
Jeśli to ma być system oparty na normalnej przeglądarce - zawsze możesz dołączyć opis jak to wyłączyć z jej poziomu lub np. załączyć plik *.reg zmieniający te ustawienia w rejestrze. Może więcej informacji?

0

oooo to brzmi bardzo ciekawie. Jak wiesz jak to zrobić (napisać) z chęcią bym posłuchał, taka opcja już może być. Jeśli da się do wyłączyć :)

0

Wszystko jest zapisane w kluczu rejestru: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup w dwóch wartościach: header i footer

Jeśli stworzysz sobie plik forprint.reg z zawartością:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup]
"header"=""
"footer"=""

//po ostatnim wpisie powinna być pusta linia o ile się nie mylę...

i uruchomisz go, to nie powinno być na wydruku dodatkowych informacji.

Ja takie rozwiązanie stosowałem z delphi używając webbrowsera jako "raportu" do wydruku. Przed samym drukiem ustawiałem te wartości na puste, po wydruku przywracałem to co w nich wcześniej było.

BTW: zawartość pliku powyżej pisana z głowy, więc sprawdź sobie i ew. skoryguj...

0

@madmike, a co zrobić jak niesforny użytkownik użyje innej przeglądarki?

0

Poszukać jak nagłówek i stopkę obsługuje ta inna przeglądarka... I obsłużyć to...

A tak na poważnie - co te dane przeszkadzają? W sumie ważne chyba jest, że są drukowane istotne informacje ze strony pomijając menu, nagłówki strony i ozdobniki...

Zobacz, że nawet Era która bazuje na systemie webowym nie przejmuje się tymi "dodatkowymi" informacjami i jeśli drukują coś w punkcie, to często ma to właśnie datę, adres strony itp.

0

drukowanie świadectw :] i wszystko jasne :d widzieliście na świadectwie szkolnym datę albo adres strony :D ??

0

Świadectwo zawsze mi dawali - nigdy jeszcze sobie nie drukowałem... I tak zostaje zawsze możliwość przygotowania pdf-a wygenerowanego przez php - wtedy na pewno nie będziesz miał nagłówków...

0

właśnie o tym pisałem na początku :P Ale teraz dużo szkół drukuje sami świadectwa, nie wypełniają ręcznie :P jak 100 lat temu :D a pdf może długo się generować. Pomyśl jak masz do drukowania ze 300 świadectw, jak nie lepiej ;/ Ale nie wiem dokładnie jak to sie odbywa...

0

Przecież pisałem. Przeglądarki mają funkcję Plik => Ustawienia strony(Opcje wydruku), i tam każdy świadomy użytkownik może zdecydować, co będzie drukowane. Wybór ustawień przetrwa wyłączenie komputera.

0

...

0

Ale o co Ci chodzi? Ty chcesz drukować bez zbędnych dupereli, czy użytkownik, który wchodzi na Twoją stronę ma drukować bez dupereli? To drugie jest po mojemu niemożliwe do osiągnięcia - musiałbyś zmieniać ustawienia przeglądarki u użytkownika.
P.S. zwrot "najbardziej optymalny" jest absurdalny, oznacza "najbardziej najlepszy".

0

chodzi mi o użytkownika :) robię to komuś nie sobie ...

0

No nie wiem... Ja bym akurat takiego rozwiązania nie wybrał, ale co kto lubi. To już szybciej i mniejszym kosztem word + korespondencja seryjna. W samym zrobieniu strony raczej nie widzę jakiejś poprawy szybkości wykonania całej pracy, zwłaszcza, że te dane trzeba wpisać.

PS. No ale nie znam ani możliwości, ani warunków na jakich to ma być zrobione - więc: ja tylko podaję jak powinno się zrobić stronę, żeby na wydruku były istotne informacje... :)

0

madmike, dzięki i za to ;) Ogólnie to lepszym rozwiązaniem było by na pewno cpp itd Ale schwyciłem się za PHP bo każdy nauczyciel mógłby od siebie w domu wprowadzać oceny etc Kiedyś ktoś mi polecał samo drukowanie zrobić w C#, pobiera dane z bazy dany i sruuuu...

http://www.dobreprogramy.pl/Kreator-Swiadectw,Program,Windows,12860.html

pozdro

0

@poniatowski:
Kod wykonywany przez przeglądarkę ma nałożone pewne ograniczenia, podyktowane choćby względami bezpieczeństwa. Ustawienia drukowania, takie jak numeracja stron, nagłówek i stopka (te dodawane przez drukarkę) to rzeczy, nad którymi panuje użytkownik. Nie programista, który napisał stronę.

Pewnym rozwiązaniem byłoby zwykłe poinstruowanie użytkownika, by zmienił ustawienia drukowania (wraz z opisem, co i jak kliknąć).

Po stronie klienta można to zrobić metodą hacków. IE wspiera ActiveX. Za pomocą odpowiedniej kontrolki ActiveX możesz zmienić klucz w rejestrze. Jak już wcześniej ktoś napisał, jeden z kluczy odpowiada za ustawienia drukowania w IE. Niemniej jednak gdy kod takiej kontrolki ActiveX miałby zostać wykonany, IE spyta się użytkownika, czy pozwala na zmianę w rejestrze. I doda, że operacja ta jest potencjalnie skrajnie niebezpieczna. Bo jest taka w istocie.

0

@bswierczynski

to tylko bardziej uświadamia mi, że powinienem zostawić te drukowanie w PHP, nie ma sensu. Trzeba szukać innego rozwiązania :) dzięki wszystkim za pomoc!

0

Nie ma czegoś takiego jak drukowanie w PHP. Wszystko co wysyłasz do przeglądarki (co php wysyła do przeglądarki) to będzie zawsze kod strony w html.

Jak byś tu nie kombinował jesteś w tym samym miejscu. Albo ręcznie (czy poprzez plik *.reg) zmieniasz ustawienia drukowania, tak aby wyeliminować stopkę i nagłówek, albo za pomocą php generujesz plik pdf, który po stronie przeglądarki - ściągasz czy otwierasz i drukujesz.

bswierczynski napisał(a)

Pewnym rozwiązaniem byłoby zwykłe poinstruowanie użytkownika, by zmienił ustawienia drukowania (wraz z opisem, co i jak kliknąć).

To co tutaj masz to właściwie wszystko co można zrobić za pomocą stronki i dowolnej przeglądarki.

Druku dokonujesz tylko np. w sekretariacie, więc do zmodyfikowania zostaje dogadanie się z jednym użytkownikiem który drukuje, żeby zmienił ustawienia. Wpisujący oceny np. z domu wcale nie muszą drukować.

1 użytkowników online, w tym zalogowanych: 0, gości: 1