# 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

