cleanup pnm files, query printer status
[Printer-Zebra.git] / svg-render.pl
1 #!/usr/bin/perl
2 use warnings;
3 use strict;
4 use autodie;
5
6 # sudo apt-get install librsvg2-bin netpbm
7
8 my $size  = $ENV{SIZE}  || '105x40';
9 my $width = $ENV{WIDTH} || 832;
10
11 my $args = join(' ', @ARGV);
12 die "usage: $0 1301272944 callnumber > label.pbm\n" unless $args;
13
14 my ( $barcode, $call1, $call2, $call3, $call4 ) = split(/\s+/, $args, 5);
15
16 open(my $from, '<',  "templates/$size.svg");
17 open(my $to,   '|-', "rsvg-convert --width=$width --format=png --background-color=white | pngtopnm | pnmdepth 2");
18 while(<$from>) {
19         no warnings 'uninitialized';
20         s/1301272944/$barcode/gs && warn "# barcode $barcode\n";
21         s/##call1##/$call1/gs    && warn "# 1: $call1\n";
22         s/##call2##/$call2/gs    && warn "# 2: $call2\n";
23         s/##call3##/$call3/gs    && warn "# 3: $call3\n";
24         s/##call4##/$call4/gs    && warn "# 4: $call4\n";
25
26         print $to $_;
27 }
28 close($from);
29 close($to);
30