df021545896b78f33b1318f3ad84b328ba17103e
[Printer-EVOLIS.git] / render.pl
1 #!/usr/bin/perl
2
3 use warnings;
4 use strict;
5 use autodie;
6
7 my ($nr,$ime,$prezime) = ( qw/
8 200900000042
9 Dobrica
10 Pavlinušić
11 / );
12
13 my $mapping = {
14 '200908109999' => $nr,
15 'Knjižničarko' => $ime,
16 'Čitalić' => $prezime,
17 };
18
19 sub mapping { $mapping->{ $_[0] } }
20
21 my $re = join('|', keys %$mapping);
22
23 my $out = 'out/' . $nr;
24
25 open(my $in,     '<', 'template.svg');
26 open(my $print,  '>', "$out.print.svg");
27 open(my $screen, '>', "$out.screen.svg");
28
29 while(<$in>) {
30
31         if ( m{($re)} ) {
32                 warn "mapping $1\n";
33                 s{($1)}{mapping($1)}e;
34         }
35
36         if ( s{##print##}{none} ) {
37                 warn "print layer: $_\n";
38                 print $print $_;
39                 s{none}{inline};
40                 print $screen $_;
41
42         } else {
43                 print $print  $_;
44                 print $screen $_;
45         }
46
47 }
48
49 close($in);
50 close($print);
51 close($screen);
52
53 system "inkscape --file $out.print.svg  --export-pdf $out.pdf";
54 system "inkscape --file $out.screen.svg --export-png $out.png --export-dpi 180";
55
56 system "inkscape --file $out.screen.svg --export-png $out.300.png --export-dpi 300";
57
58 #system "qiv $out.png";
59 #system "xpdf $out.pdf";