Skip to content

Instantly share code, notes, and snippets.

@timdp
Created March 18, 2013 10:37
Show Gist options
  • Save timdp/5186294 to your computer and use it in GitHub Desktop.
Save timdp/5186294 to your computer and use it in GitHub Desktop.
#!/usr/bin/perl
use strict;
use warnings;
use Carp;
use Pod::Usage;
use constant INKSCAPE => 'C:/Program Files (x86)/Inkscape/inkscape.exe';
pod2usage(-verbose => 99, -sections => 'GEBRUIK') unless @ARGV;
undef $/;
my $fh;
foreach my $svg (@ARGV) {
$svg =~ s|\\|/|g;
open($fh, '<', $svg) or croak qq{Kan "$svg" niet lezen: $!};
my $xml = <$fh>;
close($fh);
$xml =~ s!\s*<\s*text\b[^>]*>\s*Visual\s+Paradigm\b.*?<\s*/\s*text\s*>\s*!!sg
or print qq{Geen watermerk gevonden in "$svg"\n};
open($fh, '>', $svg) or croak qq{Kan "$svg" niet schrijven: $!};
print $fh $xml;
close($fh);
print qq{Bestand "$svg" aangepast\n};
if (defined INKSCAPE) {
(my $eps = $svg) =~ s/(?:\.[^.]+)?$/.eps/;
system(INKSCAPE, q{--export-text-to-path},
qq{--export-eps="$eps"}, $svg) == 0
or croak qq{Kan Inkscape niet uitvoeren: $?};
print qq{Bestand "$eps" aangemaakt\n};
}
}
__END__
=head1 NAAM
vp-diagram-cleaner.pl - Conversiescript voor Visual Paradigm-diagrammen
=head1 GEBRUIK
perl vp-diagram-cleaner.pl diagram1.svg [diagram2.svg ...]
=head1 BESCHRIJVING
Wanneer je in I<Visual Paradigm Community Edition> een diagram exporteert,
wordt hier een watermerk aan toegevoegd. Wanneer je het diagram exporteert in
SVG-formaat, dan kan dit watermerk echter vrij eenvoudig worden verwijderd
uit de XML-code. Dit script automatiseert die bewerking.
Daarnaast is het in staat om van de aangepaste SVG-afbeelding meteen ook een
EPS-versie te genereren. Dit gebeurt met behulp van het illustratieprogramma
I<Inkscape>, dat je gratis kan downloaden op L<http://inkscape.org/>. Pas
indien nodig bovenaan het script het pad naar Inkscape aan.
De EPS-versie van het diagram kan je eenvoudig importeren in o.a. Word- en
LaTeX-documenten. Aan die laatste voeg je daartoe het pakket C<epstopdf> toe.
=head1 OPMERKING
Het watermerk wordt enkel verwijderd indien je project meerdere diagrammen
van hetzelfde type bevat. Beperk je je tot één enkel diagram van elk type,
dan voegt Visual Paradigm een discreter watermerk toe.
=head1 GESCHIEDENIS
v0.2 - 2011-03-29
Aangepast voor versie 8.1.
v0.1 - 2011-02-15
Eerste release.
=head1 AUTEUR
[email protected]
=cut
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment