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