X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=inkscape-render.pl;h=12af5f5a718085d6c961c0f371eecbe798a4ae63;hb=17f40c0963604adf5b9e23720131147993a564fc;hp=3fd33bd2d1c99156dd7a472f598376694430d0f9;hpb=74d97a6e6f66c14a0cd0e5062a66e9e6f4dfa222;p=Printer-EVOLIS.git diff --git a/inkscape-render.pl b/inkscape-render.pl index 3fd33bd..12af5f5 100755 --- a/inkscape-render.pl +++ b/inkscape-render.pl @@ -6,6 +6,8 @@ use autodie; my $card_svg = 'card/ffzg-2010.svg'; +warn "# card template: $card_svg\n"; + my ($nr,$ime,$prezime) = ( qw/ 200900000042 Dobrica @@ -30,47 +32,49 @@ foreach my $existing ( glob $out . '*' ) { unlink $existing; } -open(my $in, '<', $card_svg); -open(my $print, '>', "$out.print.svg"); -open(my $screen, '>', "$out.screen.svg"); +open(my $svg_template, '<', $card_svg); +open(my $svg, '>', "$out.svg"); -while(<$in>) { +while(<$svg_template>) { if ( m{($re)} ) { warn "mapping $1\n"; s{($1)}{mapping($1)}e; } - if ( s{##print##}{none} ) { - warn "print layer: $_\n"; - print $print $_; - s{none}{inline}; - print $screen $_; - - } else { - print $print $_; - print $screen $_; - } + print $svg $_; } -close($in); -close($print); -close($screen); +close($svg_template); +close($svg); open(my $inkscape, '|-', 'inkscape --shell --without-gui'); sub inkscape_export { my $part = shift; - print $inkscape "$out.print.svg --export-area-page --export-pdf $out.$part.pdf --export-id $part\n"; - print $inkscape "$out.screen.svg --export-png $out.png --export-dpi 300"; + + my $shell = "$out.svg --export-area-page --export-id $part"; + + print $inkscape "$shell --export-pdf $out.$part.pdf\n"; + print $inkscape "$shell --export-png $out.$part.png --export-dpi 150\n"; } inkscape_export 'print-front'; inkscape_export 'print-back'; +# export visible +print $inkscape "$out.svg --export-png $out.png --export-dpi 300\n"; + close($inkscape); +foreach my $pdf ( glob "$out*.pdf" ) { + my $pbm = $pdf; + $pbm =~ s/pdf$/pbm/; + warn "# rendering $pdf => $pbm using ghostscript\n"; + system "gs -dNOPAUSE -dBATCH -q -r300x300 -dDEVICEWIDTHPOINTS=243 -dDEVICEHEIGHTPOINTS=155 -sDEVICE=pbmraw -sOutputFile=$pbm -f $pdf"; +} + __END__ #system "inkscape --file $out.print.svg --export-pdf $out.pdf";