Re: Xerox DocumentCentre C450 PCL reference

From: Armando Cambra <acambra(at)gmail.com>
Date: Tue, 7 May 2013 07:28:55 +0200

2013/5/7 Peter Ross <Peter.Ross(at)alumni.tu-berlin.de>:
> Hallo,
>
> in der letzten Doku kam das Wort Druckertreiber vor..
>
> Ich habe inen Druckerserver(LPD), der für ein altes Programm die
> Printausgabe auf verschiedene Drucker in der Firma verteilt.
>
> Unter anderem macht der auch Konvertierung. Alles gut und schön..
>
> U.a. haben wir ein Xerox DocumentCentre C450, der kein Postscript spricht,
> aber PCL. Ghostscript macht da die Konvertierung.
>
> Nun gibt es den dringenden Wunsch, alle Ausgaben dieses Programms zu einem
> bestimmten Ausgabefach zu leiten.
>
> Ghostscript selbst scheint das nicht zu machen, aber ich habe das hier
> gefunden:
>
> http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl02705
>
> Paper destination - Left Output Bin: Ec&l2G
>
> Okay, nach etwas Friemeln mit sed (an Control-Sequencen gescheitert, wie
> stellt man Sorderzeichen in sed da?) mein Perlwissen entstaubt,
>
> #!/usr/bin/perl
>
> # Find the first <esc>E (PCL reset) and add a <esc>&l2G (output tray)
>
> $found=0;
>
> while ($line = <>)
> {
> if (! $found)
> {
> $newline=$line;
> $line =~ s/\x1bE/\x1bE\x1b&l2G/;
> if ($newline ne $line) {$found=1;}
> }
> print $line;
> }
>
> Prima, Sequenz ist drin, nur bewirkt es nichts (habe auch mit <esc>&l1G etc.
> versucht)
>
> Ein Fall für dies? :
> ---
> Some Paper Source and Page Size commands may not work on all printers.
>
> CAUTION: Some products require different Paper Source and Page Size commands
> than those that are contained in this document. For some applications it may
> be necessary to get support on specific PCL commands from the application
> manufacturer.
> ---
>
> Nur, wo bekomme ich die PCL Reference für eunen Xerox-Drucker her? Google
> hat mir noch nichts verraten.
>
> Hat irgendjemand Ideen?
>
> Es grüßt
> Peter
>
> P.S.: Ich habe einen Hexeditor gesucht und editors/dhex war ganz nett:-)

Hallo,

Bei den Druckern würde ich zuerst mal gucken, was kann der Drucker
überhaupt. Normal geben sie Dir sogar über den JetDirect Port antwort,
was für Fähigkeiten sie haben. Du kannst den PCL Datenstrom in PJL
einpacken und damit den Drucker steuern (das sind fürchterliche
Escapesequenzen, aber es funktioniert). Da ich immer wieder mit diesen
Druckern konfrontiert werde (normal darf ich mit grossen IPDS Druckern
spielen) habe ich mir mal ein kleines Perlscriptchen geschrieben, dass
nachschaut was der Drucker kann. Damit solltest Du auch die Korrekte
Lade finden:

#!/usr/bin/perl -w
use strict;
use IO::Socket;
if (@ARGV < 1){
    print "usage: " . $0 . " ip-address\n";
    exit
}
my $ip = $ARGV[0];
#open the socket
my $sock = new IO::Socket::INET (
    PeerAddr => $ip,
    PeerPort => '9100',
    Proto => 'tcp',
    ) || die "Could not create socket - $!\n";

#send page query to socket
#
# ID Provides the printer model number, such as
# “LaserJet 4.”
# CONFIG Provides configuration information, such as how
# many and which paper sizes are available in this
# printer.
# FILESYS Returns PJL file system information.
# MEMORY Identifies amount of memory available.
# PAGECOUNT Returns the number of pages printed by the
# print engine.
# STATUS Provides the current printer status.
# VARIABLES Lists environmental and printer
# language-dependent variables, the possible
# variable values, and the current variable
# settings.
# USTATUS Lists the unsolicited status variables provided by
# the printer, the possible variable values, and the
# current variable settings.

send($sock, "\033%-12345X\@PJL INFO CONFIG\r\n",0);
print "request sent\n";
my $RESPONSE;
print "Answer: ",recv($sock,$RESPONSE,0xFFFFF,0);
print "answer received\n";
print $RESPONSE;
close($sock);

Das erschreckende dabei ist, dass die meisten Drucker überhaupt keine
Sicherheit haben und man alles über die HPDirect Schnittstelle
verändern kann :-)

Viel Spass damit :-)

Gruss
Armando

PS: Hintegrundinformation gibts hier:
http://h20000.www2.hp.com/bc/docs/support/SupportManual/bpl13210/bpl13210.pdf

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 07 May 2013 - 07:29:04 CEST

search this site