Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Bezpośredni druk na drukarkę w php
jedrzej
post 22.04.2006, 18:50:28
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 19.12.2004
Skąd: Milton Keynes

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


Mój problem dotyczy drukowania, otóż pracuję nad aplikacją, w której większość transakcji polega na przyjmowaniu wpłat i każda ma byc księgowana i dawana klientowi w postaci dowodu wpłaty, drukowanie za pomocą window.print() z JavaScript jest dość uciążliwe i zawsze wymaga dodatkowego kliknięcia, a dodatkowo te nagłówki z adresem strony... Czy jest możliwość bezpośredniego wysłania tekstu do drukarki, potrafi ktoś rozwiązać ten problem?

Ten post edytował jedrzej 22.04.2006, 18:50:51


--------------------
LJ Web Solutions New Web Generation
Go to the top of the page
+Quote Post
060156
post 22.04.2006, 20:09:03
Post #2





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

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


Mozesz, uzyc printer funkcji z php, ktore umozliwiaja wyslanie na drukare
bezposrednio wynikow (nie sprawdzalem jak drukowane sa polskie znaki )

lub wygenerowac Pdf i wyslac go na drukarke,
nawet lepiej bo mzoesz przed wydrukowaniem przegladnac ..
Go to the top of the page
+Quote Post
dr_bonzo
post 22.04.2006, 20:13:56
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


A drukujesz z serwera z php (pewnie sie da) czy z komputera z przegladarka www (nie da sie)?


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
GrayHat
post 23.04.2006, 11:18:53
Post #4





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

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


w javascript drukujesz tak:

  1. <!--
  2. function doit(){
  3. if (!window.print){
  4. alert("Nie mozna wydrukowac strony")
  5. return
  6. }
  7. window.print()
  8. }
  9. //-->
  10.  
  11. <a href="java script:doit()">drukuj</a>


w php:

  1. <?php
  2. $handle = printer_open();
  3. printer_write($handle, "Text to print");
  4. printer_close($handle);
  5. ?>


--------------------
*Note: No animals were killed durning the construction of this post.
Go to the top of the page
+Quote Post
jedrzej
post 23.04.2006, 11:33:47
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 19.12.2004
Skąd: Milton Keynes

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


dzięki za podpowiedzi, niestety wyczytałem, że funkcje printer nie działają pod linuxem,
These functions are only available under Windows 9.x, ME, NT4 and 2000." title="Zobacz w manualu php" target="_manual zapomnialem dodać, że program chodzi właśnie na tej platformie sad.gif


--------------------
LJ Web Solutions New Web Generation
Go to the top of the page
+Quote Post
mike
post 23.04.2006, 12:13:26
Post #6





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


A gdzie jest związek z php5? Bo ja nie widzę.
Przenoszę na php.
Go to the top of the page
+Quote Post
GrayHat
post 23.04.2006, 12:16:23
Post #7





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

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


@jedrzej: jedyne rozwiazanie jakie widze to generowanie plikow pdf... nie boj sie tego to nie gryzie smile.gif


--------------------
*Note: No animals were killed durning the construction of this post.
Go to the top of the page
+Quote Post
TomASS
post 23.04.2006, 12:23:37
Post #8





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Cytat
drukowanie za pomocą window.print() z JavaScript jest dość uciążliwe i zawsze wymaga dodatkowego kliknięcia,

Możesz utworzyć styl dla drukowania. media::print
Cytat
dodatkowo te nagłówki z adresem strony...

To można usunąć:
IE = Plik->Ustawienia Strony->Nagłówek/Stopka


--------------------
Go to the top of the page
+Quote Post
jedrzej
post 25.04.2006, 16:42:19
Post #9





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 19.12.2004
Skąd: Milton Keynes

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


Wiem, że to mozna usunąć, ale mi bardziej chodzi o to, żeby ominąć w ogóle krok, w którym pokazuje się okienko drukowania. Wyobraź sobie, że drukujesz dziennie 100 dokumentów i dla każdego musisz zmieniać ustawienia, a kolejce czeka następny klient - to nie może tak być sad.gif


--------------------
LJ Web Solutions New Web Generation
Go to the top of the page
+Quote Post
TomASS
post 26.04.2006, 23:31:58
Post #10





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Ale ustawienia drukowania można zapisać gdzieś na stałę.


--------------------
Go to the top of the page
+Quote Post
Indeo
post 27.04.2006, 11:43:41
Post #11





Grupa: Zarejestrowani
Postów: 295
Pomógł: 7
Dołączył: 26.03.2004
Skąd: Opole

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


Interesujący wątek. Znam problem. Drukowanie jest bolączką aplikacji www - co komputer to inny wydruk. Drukowanie czegoś spod przeglądarki to beznadzieja. Wiele rozwiązało u mnie spraw przeniesienie się na PDF (też sie bałem) teraz jestem z PDF'ów bardzo zadowolony z wyjatkiem rozmiaru plików z polskimi znakami .... (za duże)

Mnie czeka wymiana 10 000 umów z klientami. Powiedzmy, że każdą mogę mieć w PDF'ie, ale jak to automatem puścić na drukarkę?
Nie mam pojęcia. A czy na przykład można kilka dokumentów PDF scalić w jeden i wszystko na raz puścić na drukarkę?


--------------------
Go to the top of the page
+Quote Post
artur81
post 27.04.2006, 12:21:04
Post #12





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


oczywiście ze mozna, z bazy pobierasz interesujące cie dane, i puszczasz to w pętli, ja korzystam np z klasy fpdf. Implementowałem już ją w paru swoich projektach i jak na razie działa bez zarzutu, a obsługa jest banalnie prosta. Klasa sama zadba o dodawanie kolejnych stron.


--------------------
Go to the top of the page
+Quote Post
Indeo
post 28.04.2006, 06:23:56
Post #13





Grupa: Zarejestrowani
Postów: 295
Pomógł: 7
Dołączył: 26.03.2004
Skąd: Opole

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


Ja wiem jak tworzy się dokumenty PDF. Problem w tym, że dokumenty są zapisane już w bazie danych i powiedzmy, że nie ma mozliwości ponownego ich wygenerowania w postaci jednego dużgo dokumentu składającego się z wielu mniejszych na podstawie danych niebinarmych. Do dyspozycji są gotowe pliki PDF. I jak puścić grupę takich plików na drukarkę za jednym kliknięciem?


--------------------
Go to the top of the page
+Quote Post
mike
post 28.04.2006, 07:31:41
Post #14





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(Indeo @ 2006-04-28 07:23:56)
(...) powiedzmy, że nie ma mozliwości ponownego ich wygenerowania w postaci jednego dużgo dokumentu składającego się z wielu mniejszych (...)

Jest taka możliwość. Można to zrobić za pomocą FPDI
Go to the top of the page
+Quote Post
Seth
post 28.04.2006, 10:07:11
Post #15





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


Moze to Ci pomoze:
http://www.phpclasses.org/browse/package/2804.html
http://www.phpclasses.org/browse/package/1159.html
Go to the top of the page
+Quote Post
gotar
post 4.12.2008, 21:18:35
Post #16





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.11.2006

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


co do drukowania czegos 10000 razy roznych plikow no to jak linux to :

for i in *.pdf; do (komenda do drukowania) $i; done

i tyle w windows ;/ mozna zrobic plik wsadowy z podobna rzecza
Go to the top of the page
+Quote Post
Zyx
post 5.12.2008, 12:36:13
Post #17





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Skrypt uruchomiony na serwerze może bezpośrednio coś wydrukować na drukarce udostępnionej temu serwerowi, w szczególności podpiętej do niego. Ten sam skrypt nie może bezpośrednio dostać się do drukarki podłączonej do komputera użytkownika korzystającego z przeglądarki, o ile przeglądarka na to nie zezwoli. A że nie zezwoli, tego możesz być pewnym - za duże zagrożenie dla bezpieczeństwa. Wyobraź sobie, co by było, gdybyś wszedł na jakąś stronę WWW, a tu nagle drukarka zaczyna Ci zdjęcia porno drukować.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
marcin86
post 2.06.2009, 22:40:46
Post #18





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.06.2009

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


Cytat(Zyx @ 5.12.2008, 13:36:13 ) *
Skrypt uruchomiony na serwerze może bezpośrednio coś wydrukować na drukarce udostępnionej temu serwerowi, w szczególności podpiętej do niego. Ten sam skrypt nie może bezpośrednio dostać się do drukarki podłączonej do komputera użytkownika korzystającego z przeglądarki, o ile przeglądarka na to nie zezwoli. A że nie zezwoli, tego możesz być pewnym - za duże zagrożenie dla bezpieczeństwa. Wyobraź sobie, co by było, gdybyś wszedł na jakąś stronę WWW, a tu nagle drukarka zaczyna Ci zdjęcia porno drukować.



A co tu mają wspólnego prawa dostępu skryptu php na serwerze do drukarki na systemie klienta. Skrypt uruchomiony na serwerze może coś wykonać na serwerze i tylko serwerze (no chyba, że mowa o intranecie, to wtedy prędzej, ale też nie za pośrednictwem przeglądarki, tylko sieci ogólnie), w przeglądarce (po stronie klienta) wyświetlane są tylko wyniki czyli kod html + tresc (czysty tekst).
Go to the top of the page
+Quote Post
icemanwlkp
post 28.12.2016, 10:21:32
Post #19





Grupa: Zarejestrowani
Postów: 50
Pomógł: 1
Dołączył: 29.09.2010

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


Odświeżę temat , mam podobny kłopot z tym iż serwer stoi na windows drukarka jest w tej samej sieci co serwer i teraz mój php wygeneruje mi pdf i chciałbym przesłać go do drukarki .

Używam metody system i odpalam " reader.exe /t @plikpdf @nazwa_drukarki -> zastępując zmienne

Ale to wymaga wykorzystania dodatkowego programu .

Czy można wysłać pdf bezpośrednio na drukarkę podając jej IP i port i czy można przesłać dodatkowe parametry jak podajnik papieru , funkcja duplex itd.

Moja drukarka to Kyocera Model : TASKalfa 2551ci a może istnieje jakiś uniwersalny język komend , będe wdzięczny za podpowiedzi , pozdrawiam
Go to the top of the page
+Quote Post
Puszy
post 28.12.2016, 10:35:09
Post #20





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

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


Problem dość powszechny, ja rozwiązałem ten problem w zależności od miejsca skryptu:

1. Apka drukuje na drukarce udostępnionej dla serwera na której znajduje się skrypt: exec() z użyciem Acrobata z odpowiednimi parametrami.
2. Apka po stronie uzytkownika: biblioteka PHP do Google Cloud Print + Chrome. Skrypt łączy się do serwera Google, Google łączy się z Chromem (wymagane logowanie na Chromie), dokument leci przez serwery Googla na drukarkę
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 13.06.2025 - 09:07