added basic information about project
[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 mkdir 'out' unless -d 'out';
24 my $out = 'out/' . $nr;
25
26 foreach my $existing ( glob $out . '*' ) {
27         warn "# remove $existing ", -s $existing, " bytes\n";
28         unlink $existing;
29 }
30
31 open(my $in,     '<', 'template.svg');
32 open(my $print,  '>', "$out.print.svg");
33 open(my $screen, '>', "$out.screen.svg");
34
35 while(<$in>) {
36
37         if ( m{($re)} ) {
38                 warn "mapping $1\n";
39                 s{($1)}{mapping($1)}e;
40         }
41
42         if ( s{##print##}{none} ) {
43                 warn "print layer: $_\n";
44                 print $print $_;
45                 s{none}{inline};
46                 print $screen $_;
47
48         } else {
49                 print $print  $_;
50                 print $screen $_;
51         }
52
53 }
54
55 close($in);
56 close($print);
57 close($screen);
58
59 #system "inkscape --file $out.print.svg  --export-pdf $out.pdf";
60
61 system "inkscape --file $out.print.svg --export-area-page --export-pdf $out.print-front.pdf --export-id print-front";
62 system "inkscape --file $out.print.svg --export-area-page --export-pdf $out.print-back.pdf --export-id print-back";
63 system "pdftk  $out.print-front.pdf $out.print-back.pdf cat output $out.print-duplex.pdf";
64
65 #system "inkscape --file $out.screen.svg --export-png $out.png --export-dpi 180";
66
67 #system "inkscape --file $out.screen.svg --export-png $out.300.png --export-dpi 300";
68
69 system "inkscape --file $out.print.svg --export-area-page --export-png $out.print-front.png --export-dpi 150 --export-id print-front --export-id-only";
70 system "inkscape --file $out.print.svg --export-area-page --export-png $out.print-back.png --export-dpi 150 --export-id print-back --export-id-only";
71
72
73 #system "qiv $out.png";
74 #system "xpdf $out.pdf";