jedrzej
22.04.2006, 18:50:28
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?
060156
22.04.2006, 20:09:03
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 ..
dr_bonzo
22.04.2006, 20:13:56
A drukujesz z serwera z php (pewnie sie da) czy z komputera z przegladarka www (nie da sie)?
GrayHat
23.04.2006, 11:18:53
w javascript drukujesz tak:
<!--
function doit(){
if (!window.print){
alert("Nie mozna wydrukowac strony")
return
}
window.print()
}
//-->
<a href="java script:doit()">drukuj
</a>
w php:
<?php
$handle = printer_open();
printer_write($handle, "Text to print");
printer_close($handle);
?>
jedrzej
23.04.2006, 11:33:47
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
mike
23.04.2006, 12:13:26
A gdzie jest związek z php5? Bo ja nie widzę.
Przenoszę na php.
GrayHat
23.04.2006, 12:16:23
@jedrzej: jedyne rozwiazanie jakie widze to generowanie plikow pdf... nie boj sie tego to nie gryzie
TomASS
23.04.2006, 12:23:37
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::printCytat
dodatkowo te nagłówki z adresem strony...
To można usunąć:
IE = Plik->Ustawienia Strony->Nagłówek/Stopka
jedrzej
25.04.2006, 16:42:19
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ć
TomASS
26.04.2006, 23:31:58
Ale ustawienia drukowania można zapisać gdzieś na stałę.
Indeo
27.04.2006, 11:43:41
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ę?
artur81
27.04.2006, 12:21:04
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.
Indeo
28.04.2006, 06:23:56
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?
mike
28.04.2006, 07:31:41
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
Seth
28.04.2006, 10:07:11
gotar
4.12.2008, 21:18:35
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
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ć.
marcin86
2.06.2009, 22:40:46
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).
icemanwlkp
28.12.2016, 10:21:32
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
Puszy
28.12.2016, 10:35:09
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ę
icemanwlkp
28.12.2016, 11:07:20
Cytat(Puszy @ 28.12.2016, 11:35:09 )

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.
Jakie parametry można skonfigurować wtedy, odnośnie druku ?
Cytat
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ę
Ta opcja odpada.
Mój serwer i drukarka są w tym samym pomieszczeniu i są w tej samej sieci .
Puszy
28.12.2016, 11:16:19
@icemanwlkp
Windows przy użyciu Acrobata:
http://stackoverflow.com/a/619203/2621852Linux:
https://makandracards.com/makandra/24202-li...he-command-lineNie testowałem na Linuxie, może (nie musi) wystąpić błąd że będziesz drukował content PDFa a nie sformatowany wygląd.
Edit: i teraz np. ustawiasz w kliencie AJAX który odpali skrypt PHP wykonujący komendę przez exec() i po problemie.
icemanwlkp
28.12.2016, 11:23:25
TO wszystko ok, ale nie mogę zdecydować czy wydruk ma być duplex , z jakiego zasobnika pobrać papier , format papieru itd ... niestety to za mało .
Puszy
28.12.2016, 11:31:02
Zmień domyślne ustawienia drukarki, to o czym mówisz ustawia się z poziomu systemu/drukarki. Np podczas wydruku w Chrome możesz wybrać tylko podstawowe opcje (duplex chyba jest dostępny) ale podajnik, czy też jakość wydruku nie są osiągalne.
Edit: możesz chyba te ustawienia zapisać w samym Acrobacie jako domyślne z tego co pamiętam.
icemanwlkp
28.12.2016, 11:40:03
Fpdf nie daje mi możliwości zapisania takich informacji w pliku pdf , znalazłem program producenta można wszystko ustawić ale działa jako okienko niestety w którym ustawia się wszystko i wysyła pdf niestety z linii komend obsługuję tylko link do pliku pdf nie mogę dodać innych parametrów .
Puszy
28.12.2016, 12:10:52
No tak ale pytanie czy potrzebujesz wiele profili drukarek? Czy drukujesz n różnych dokumentów czy w kółko drukujesz np. ten sam wzór faktury. Jeżeli tak to ustawiasz raz domyślne ustawienia w drukarce jeżeli nie to w Windowsie możesz dodać drukarkę kilka razy każdą z osobnymi ustawieniami. Miałem tak w przypadku etykiet wysyłanych na Zebrę. Zebra była jedna ale na liście drukarek pojawiały się trzy: etykieta spedycyjna, etykieta EAN i list przewozowy, dzięki czemu mogłeś wysyłać pliki w zależności od zawartości zmieniając jedynie printer_name w komendzie.
icemanwlkp
28.12.2016, 12:38:05
No jest to jakieś rozwiązanie ,ale podobno drukarki obsługują protokół jakiś , który modyfikuje ich ustawienia na czas następnego wydruku . Co do drukarek zebra nie muszę tego stosować bo można wydruki wysyłać w formie pliku ZPL a w nim ustawia się wszystkie parametry ,a cześć z nich jak naklejki z DHL ich api przesyła już gotowego ZPL-a. Problem tylko w drukarkach laserowych firm Kyocera , Epson itd. Choć złapałem już kontakt z technikiem , który ma mi przesłać specyfikacje pliku jaki mam wysłać przed PDF-em by zmienić ustawienia drukarki dla danego wydruku , jak dostane podzielę się informacją .
Puszy
28.12.2016, 13:11:03
Nie zawsze jest możliwość pchnięcia ZPLa jak np. Amazon etykiety z kodami SKU pod FBA wysyła w PDFie. Jeżeli rzeczywiście jest coś a'la plik prekonfiguracyjny (tak go nazwijmy) to jedynym problem może być wydruk z wielu klientów, wtedy musiałbyś dorobić kolejkowanie. Ale polecam przyjrzeć się wielu profilom dla jednego urządzenia, może przydać się na przyszłość.
icemanwlkp
30.12.2016, 12:39:03
Ten prekonfiguracyjny plik musi mieć taka sama nazwę jak plik co leci do drukarki a te generuje losowo wiec nie ma mowy o pomyłce
NO ZPL nei zawsze ,ale czasami warto podesłać pomysł komuś i może zaczną słać ZPL , dużo firm teraz generuje oba formaty
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.