summaryrefslogtreecommitdiff
path: root/support/autolatex/translators/ppt2pdf_libreoffice.transdef
diff options
context:
space:
mode:
Diffstat (limited to 'support/autolatex/translators/ppt2pdf_libreoffice.transdef')
-rw-r--r--support/autolatex/translators/ppt2pdf_libreoffice.transdef62
1 files changed, 62 insertions, 0 deletions
diff --git a/support/autolatex/translators/ppt2pdf_libreoffice.transdef b/support/autolatex/translators/ppt2pdf_libreoffice.transdef
new file mode 100644
index 0000000000..2fc9077d81
--- /dev/null
+++ b/support/autolatex/translators/ppt2pdf_libreoffice.transdef
@@ -0,0 +1,62 @@
+# autolatex - ppt2pdf_libreoffice.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 = .ppt .pptx
+
+OUTPUT_EXTENSIONS for pdf = .pdf
+OUTPUT_EXTENSIONS for eps = .eps
+
+TRANSLATOR_FUNCTION =<<EOL {
+ my @binaries = ('libreoffice', 'loffice', 'openoffice', 'ooffice');
+ my $bin;
+ for(my $i=0; $i<@binaries && !$bin; $i++) {
+ $bin = which($binaries[$i]);
+ }
+ if (!$bin) {
+ printErr("Unable to retreive the binary file of Libre Office or Open Office.");
+ }
+
+ my $ext;
+ my $mode;
+ if ($ispdfmode) {
+ $ext = '.pdf';
+ $mode = 'pdf';
+ }
+ else {
+ $ext = '.eps';
+ $mode = 'eps';
+ }
+
+ my $outdir = File::Spec->rel2abs(dirname($out));
+ my $basename = basename($in,@inexts);
+ my $defaultOutput = File::Spec->catfile("$outdir", "$basename$ext");
+
+ runCommandOrFail( "$bin", '--headless', '--nologo', '--convert-to', "$mode", '--outdir', "$outdir", "$in");
+
+ if ($defaultOutput ne $out) {
+ move("$defaultOutput", "$out") or printErr("$defaultOutput -> $out: $!");
+ }
+
+ 1;
+}
+EOL
+