Ustawienie duplexu w HP 5225 poprzez czysty j

Potrzebujesz pomocy z C, C++, perl, python, itp.
Awatar użytkownika
adasiek_j
Beginner
Posty: 141
Rejestracja: 24 kwietnia 2010, 22:24
Lokalizacja: Warszawa

Ustawienie duplexu w HP 5225 poprzez czysty język PCL

Post autor: adasiek_j »

Koledzy i koleżanki.

Piszę tutaj, bo już po kilkunastu dniach walki nie mam dalej koncepcji. Mam sobie aplikację pod Linuksem, która do drukowania używa czystych kodów PCL. Mogę sobie te kody nawet trochę zmieniać, co widać na zrzucie.
Obrazek

Każde wystąpienie |27 jest interpretowane przez aplikację na kod ascii 27, czyli esc, i wysyłane do drukarki jak funkcja clippera chr(27)
l0o - portrait, l1o - landscape


Testy inicjacji drukarki HP 5225cdn (color, duplex, network):
Korzystam z HP PCL/PJL Reference, dostępne pod adresem:
http://h20000.www2.hp.com/bc/docs/suppo ... l13210.pdf

* standardowo używam kodów inicjujących dla HP LaserJet IIP/IIIP Landscape

Kod: Zaznacz cały

RS    - RESET PRINTER         |27E|27&l1o6c26A|27(10U|27(s10h0p0s0b3T
* przerabiam do formatu A3 zmieniając o26A na o27A - to drukuje poprawnie

Kod: Zaznacz cały

RS    - RESET PRINTER         |27E|27&l1o6c26A|27(10U|27(s10h0p0s0b3T
* Duplex - włącza się go przez

Kod: Zaznacz cały

|27&l1S
próbuję zatem to zaimplementować.

Zamieniam

Kod: Zaznacz cały

l1S 
na Bo w dokumentacji jest zapisane, że jeśli grupujemy kody w instrukcji po jednym ESC, to literkę trzeba zamienić na małą, jeśli później występuje jeszcze jakiś kod.

Dysponuję tylko 1 znakiem wolnym w kodach, więc dla testów wywalam coś

Kod: Zaznacz cały

RS    - RESET PRINTER         |27E|27&l1o6c26A|27(10U
Wydruk się nie zmienił, więc będę testował duplex

Kod: Zaznacz cały

RS    - RESET PRINTER         |27E|27&l1o6c27A|27&l1S|27(10U
* efekt - nie działa duplex

Kod: Zaznacz cały

RS    - RESET PRINTER         |27E|27&l1S|27&l1o6c27A|27(10U
* efekt - nie działa duplex

Kod: Zaznacz cały

RS    - RESET PRINTER         |27E|27&l1s1o6c27A|27(10U
* efekt - nie działa duplex
=====================================================================

Zatem testuję sterownik HP LJ 4/5/6 - standardowe ustawienie portret.

Kod: Zaznacz cały

RS    - RESET PRINTER         |27E|27&l0o26A|27(17U|27(s0p0s0b4102T
* zmieniam na A3 i landscape

Kod: Zaznacz cały

RS    - RESET PRINTER         |27E|27&l1o27A|27(17U|27(s0p0s0b4102T
* efet - A3 poziom ok

* dodaję duplex

Kod: Zaznacz cały

RS    - RESET PRINTER         |27E|27&l1sl1o27A|27(17U|27(s0p0s0b4102T
* inny sposób duplexu

Kod: Zaznacz cały

RS    - RESET PRINTER         |27E|27&l1s1o27A|27(17U|27(s0p0s0b4102T
Żaden z tych sposobów nie daje mi duplexu. Oczywiście, jak z Windowsa drukuję cokolwiek z openoffice, duplex działa znakomicie.
Nie mam już specjalnych pomysłów, jak to tknąć. Piszę w nadziei, że ktoś coś kiedyś z PCL-em czystym działał i da podpowiedź, co mogę jeszcze spróbować.

Uwaga!
Aplikacja pozwala wprowadzić tylko 40 znaków w pole, więc niestety jestem ograniczony.

Adam
fnmirk
Senior Member
Posty: 8321
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

A musisz korzystać PCL nie możesz wykorzystać Postscriptu?
Ta drukarka powinna mieć do dyspozycji takie języki opisu strony:
Standardowe języki drukarki
HP PCL 6, HP PCL 5e, emulacja HP Postscript Level 3
http://h10010.www1.hp.com/wwpc/pl/pl/sm ... 74361.html

Odnośnie PCL wydaje mi się, że wersja języka jest ważna:
http://pl.wikipedia.org/wiki/Printer_Command_Language
Awatar użytkownika
adasiek_j
Beginner
Posty: 141
Rejestracja: 24 kwietnia 2010, 22:24
Lokalizacja: Warszawa

Post autor: adasiek_j »

Standardowo aplikacja posługuje się PCL'em (zaszłości DOS'a). Mogę dać "quasi" postscript (długo tłumaczyć, jak chłopaki to zaimplementowali), jeszcze tego po prostu nie próbowałem, bo mam na tym serwerze openSUSE 10.3 ze starym hplip i bardzo starymi PPD. Boję się, że skończy się na tym, że klient będzie musiał przeżyć zmianę systemu na jakiś nowy, żeby to zechciało działać.

Adam
fnmirk
Senior Member
Posty: 8321
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

Spróbuj wybrać inną drukarkę np. HP LaserJet 4, 5 lub 6.
ODPOWIEDZ