diff options
Diffstat (limited to 'support/autolatex/translators/vsd2pdf.transdef')
-rw-r--r-- | support/autolatex/translators/vsd2pdf.transdef | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/support/autolatex/translators/vsd2pdf.transdef b/support/autolatex/translators/vsd2pdf.transdef new file mode 100644 index 0000000000..33c34a252a --- /dev/null +++ b/support/autolatex/translators/vsd2pdf.transdef @@ -0,0 +1,51 @@ +# autolatex - vsd2pdf.transdef +# Copyright (C) 2014 Stephane Galland <galland@arakhne.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +#-------------------------------------------- +# See template.txt for details on the fields +#-------------------------------------------- + +INPUT_EXTENSIONS = .vsd .vdx .vsdx + +OUTPUT_EXTENSIONS for pdf = .pdf +OUTPUT_EXTENSIONS for eps = .eps + +TRANSLATOR_PERL_DEPENDENCIES = version + +TRANSLATOR_FUNCTION =<<EOL { + # Check for the Inkscape version + if (lc($inext) eq '.vsdx') { + my @o = runCommandOrFail("inkscape", "--version"); + my $o = join('', @o); + if ($o =~ /^Inkscape\s+([0-9a-zA-Z\._\-]+)\s+/i) { + my $mandatoryVersion = version->parse("0.49"); + my $version = version->parse("$1"); + if ($version < $mandatoryVersion) { + printErr("The convertion from $inext needs Inkscape $mandatoryVersion or higher."); + return; + } + } + } + if ($isepsmode) { + runCommandOrFail('inkscape', '--without-gui', '--export-area-page', '--export-eps', "$out", "$in"); + } + else { + runCommandOrFail('inkscape', '--without-gui', '--export-area-page', '--export-pdf', "$out", "$in"); + } +} +EOL |