[unix-ws] Postscript-Seitenzaehler?

Thomas Lange lange at informatik.uni-koeln.de
Mit Feb 23 13:11:25 CET 2000


Sicher geht es nur mit ghostscript, alles andere ist nicht immer
korrekt. Um das zu beschleunigen, kann man aber die Aufloesung
runtersetzen (z.B. -r2). Ich mache es wie folgt:

/vol/gnu/bin/gs -q -r$dpi -sPAPERSIZE=a4 -dNOPAUSE -sDEVICE=ljet4 -sOUTPUTFILE=/tmp/print_$$.pcl 

dann ein perl script starten, das simplex/duplex/manualfeed verarbeitet und
gleichzeitig die Seiten zaehlt:


$size = (stat $pclfile)[7];
open IN,"$pclfile" || die "Kann $pclfile nicht öffnen\n";
$re = sysread IN,$pcl,$size;
unlink $pclfile;
die "Fehler beim lesen von $pclfile\n" if ($re != $size);

$pages = 0;
while ($pcl =~ m/(?:\e&l0o0l0E.+?\e\*rB\cl)/sg) {
    $pages++;
}
open(LOG,">>$countfile");
print LOG "$user $pages\n";
close(LOG);



Im PCL Code zaehlt das pattern matching von Perl nun die Befehle fuer
neue Seite.



-- 
Gruss Thomas
----------------------------------------------------------------------
            Thomas Lange
Institut fuer Informatik         mailto:lange at informatik.Uni-Koeln.DE
   Universitaet zu Koeln
            Pohligstr. 1        Telefon: +49 221 470 5303
             50969 Koeln        Fax    : +49 221 470 5317
----------------------------------------------------------------------