49 lines
1.2 KiB
Perl
49 lines
1.2 KiB
Perl
|
#!/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;
|
||
|
}
|