#!/bin/bash
# -*- coding: utf-8 -*-
# Timestamp: "2025-09-26 10:53:55 (ywatanabe)"
# File: ./paper/scripts/shell/modules/pptx2tif_single.sh
ORIG_DIR="$(pwd)"
THIS_DIR="$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)"
LOG_PATH="$THIS_DIR/.$(basename $0).log"
echo > "$LOG_PATH"
GIT_ROOT="$(git rev-parse --show-toplevel 2>/dev/null)"
GRAY='\033[0;90m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
echo_info() { echo -e "${GRAY}INFO: $1${NC}"; }
echo_success() { echo -e "${GREEN}SUCC: $1${NC}"; }
echo_warning() { echo -e "${YELLOW}WARN: $1${NC}"; }
echo_error() { echo -e "${RED}ERRO: $1${NC}"; }
echo_header() { echo_info "=== $1 ==="; }
# ---------------------------------------
# Configurations
source ./config/load_config.sh $SCITEX_WRITER_DOC_TYPE
# Logging
touch "$LOG_PATH" >/dev/null 2>&1
echo
echo "Running $0..."
usage() {
echo "Usage: $0 [-i|--input INPUT_FILE] [-o|--output OUTPUT_FILE] [-h|--help]"
echo
echo "Options:"
echo " -i, --input Input PPTX file path (required)"
echo " -o, --output Output TIF file path (optional)"
echo " -h, --help Display this help message"
echo
echo "Example:"
echo " $0 -i /path/to/input.pptx"
echo " $0 -i /path/to/input.pptx -o /path/to/output.tif"
exit 1
}
convert_pptx_to_tif() {
local input_file="$1"
local output_file="$2"
local input_file_win=$(wslpath -w "$input_file")
local output_file_win=$(wslpath -w "$output_file")
local script_dir="$(dirname "$(realpath "$0")")"
local ps_script="./scripts/powershell/pptx2tiff.ps1"
local powershell=/home/ywatanabe/.win-bin/powershell.exe
echo -e "\nConverting ${input_file}...\n"
if [ ! -f "$powershell" ]; then
echo "Error: PowerShell executable not found at $powershell"
exit 1
fi
if [ ! -f "$ps_script" ]; then
echo "Error: PowerShell script not found at $ps_script"
exit 1
fi
if [ ! -f "$input_file" ]; then
echo "Error: Input file does not exist."
exit 1
fi
"$powershell" -ExecutionPolicy Bypass -File "$ps_script" -inputFilePath "$input_file_win" -outputFilePath "$output_file_win" 2>&1
# "$powershell" -ExecutionPolicy Bypass -File "$(wslpath -w ./scripts/powershell/pptx2tiff.ps1)" -inputFilePath "$input_file_win" -outputFilePath "$output_file_win" 2>&1
ps_exit_code=$?
if [ $ps_exit_code -ne 0 ]; then
echo -e "\nError: PowerShell script failed with exit code $ps_exit_code"
return 1
fi
if [ -f "$output_file" ]; then
echo -e "\nConverted: ${input_file} -> ${output_file}"
else
echo -e "\nError: Conversion failed. Output file not created."
return 1
fi
}
main() {
local input_file
local output_file
while [[ $# -gt 0 ]]; do
case $1 in
-i|--input)
input_file="$2"
shift 2
;;
-o|--output)
output_file="$2"
shift 2
;;
-h|--help)
usage
;;
*)
echo "Unknown option: $1"
usage
;;
esac
done
if [ -z "$input_file" ]; then
echo "Error: Input file is required."
usage
fi
if [ -z "$output_file" ]; then
output_file="${input_file%.pptx}.tif"
fi
convert_pptx_to_tif "$input_file" "$output_file"
}
{ main "$@" ; } 2>&1 | tee "$LOG_PATH"
# Usage:
# ./scripts/shell/modules/pptx2tif.sh -i /home/ywatanabe/proj/ripple-wm/paper/manuscript/contents/figures/contents/.10_vswr_jump.pptx
# EOF