Mangle PPDs for DNP printers.
This commit is contained in:
parent
a9349a131b
commit
475f734e15
|
@ -0,0 +1,48 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
# cups-genppd.5.2 -p /tmp -Z dnp-ds40 dnp-ds620 dnp-ds80 dnp-dsrx1
|
||||
# for x in /tmp/*ppd ; do perl dnp-mangleppd.pl $x ; done
|
||||
|
||||
my ($ppd, %sizes);
|
||||
|
||||
$ppd = shift(@ARGV);
|
||||
|
||||
open FILE, "<$ppd" || die ("can't open file");
|
||||
|
||||
while(<FILE>) {
|
||||
if ($_ =~ "/\*PageSize (.*)\/(.*):.*/") {
|
||||
$sizes{$1} = $2;
|
||||
}
|
||||
}
|
||||
|
||||
close FILE;
|
||||
|
||||
foreach my $key (keys(%sizes)) {
|
||||
open FILE, "<$ppd" || die ("can't open file $ppd");
|
||||
|
||||
my $out = $ppd;
|
||||
$out =~ s/.*stp-dnp-(.*)\.5\.2\.ppd/$1/;
|
||||
$out =~ tr/a-z/A-Z/;
|
||||
$out =~ s/DSRX1/RX1/;
|
||||
|
||||
$sizes{"$key"} =~ s/(.*)\*(.*)/$1_x$2/;
|
||||
$sizes{"$key"} =~ s/(.*)\+(.*)/$1_$2/;
|
||||
|
||||
print "--> $key = $sizes{$key}\n";
|
||||
|
||||
open FILE2, ">$out-$sizes{$key}.ppd";
|
||||
|
||||
while(<FILE>) {
|
||||
s/\*DefaultPageSize: .*/*DefaultPageSize: $key/;
|
||||
s/\*DefaultPageRegion: .*/*DefaultPageRegion: $key/;
|
||||
s/\*DefaultImageableArea: .*/*DefaultImageableArea: $key/;
|
||||
s/\*DefaultPaperDimension: .*/*DefaultPaperDimension: $key/;
|
||||
s/\*DefaultStpColorCorrection: .*/*DefaultStpColorCorrection: Uncorrected/;
|
||||
s/\*DefaultStpColorPrecision: .*/*DefaultStpColorPrecision: Best/;
|
||||
|
||||
print FILE2 "$_";
|
||||
}
|
||||
|
||||
close FILE;
|
||||
close FILE2;
|
||||
}
|
Loading…
Reference in New Issue