nose
parent
5e06989cd5
commit
c6ed95ddda
@ -1,83 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Function to display usage information and exit
|
||||
usage() {
|
||||
echo "Usage: $0 input.pdf output.pdf [-r resolution] [-h]"
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo "-r Set the image resolution (default is 150ppi)"
|
||||
echo "-h Display this help message"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Default settings
|
||||
RESOLUTION=150
|
||||
|
||||
# Parse command-line options
|
||||
while getopts ":r:h" opt; do
|
||||
case ${opt} in
|
||||
r)
|
||||
RESOLUTION=$OPTARG
|
||||
;;
|
||||
h)
|
||||
usage
|
||||
;;
|
||||
\?)
|
||||
echo "Invalid option: -$OPTARG" >&2
|
||||
exit 1
|
||||
;;
|
||||
:)
|
||||
echo "Option -$OPTARG requires an argument." >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift $((OPTIND - 1))
|
||||
|
||||
# Check if the correct number of arguments are provided after parsing options
|
||||
if [ "$#" -ne 2 ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
INPUT_FILE="$1"
|
||||
OUTPUT_FILE="$2"
|
||||
|
||||
# Check if input file exists
|
||||
if [ ! -f "$INPUT_FILE" ]; then
|
||||
echo "Input file '$INPUT_FILE' does not exist."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Extract directory and base name from output file path
|
||||
OUTPUT_DIR=$(dirname "$OUTPUT_FILE")
|
||||
OUTPUT_BASENAME=$(basename "$OUTPUT_FILE")
|
||||
|
||||
# Create the output directory if it doesn't already exist
|
||||
mkdir -p "$OUTPUT_DIR"
|
||||
|
||||
# Run Ghostscript command with specified resolution
|
||||
gs \
|
||||
-sDEVICE=pdfwrite \
|
||||
-dCompatibilityLevel=1.7 \
|
||||
-dPDFSETTINGS=/prepress \
|
||||
-dDownsampleMonoImages=false \
|
||||
-dDownsampleColorImages=true \
|
||||
-dColorImageResolution=$RESOLUTION \
|
||||
-dGrayImageResolution=$RESOLUTION \
|
||||
-dMonoImageResolution=$RESOLUTION \
|
||||
-dPreserveOPIRequests=false \
|
||||
-dSubsetFonts=true \
|
||||
-dEmbedAllFonts=true \
|
||||
-sProcessColorModel=DeviceRGB \
|
||||
-dQUIET -dBATCH -dNOPAUSE \
|
||||
-sOutputFile="$OUTPUT_FILE" "$INPUT_FILE"
|
||||
|
||||
# Check if Ghostscript command was successful
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: Ghostscript failed to process the file '$INPUT_FILE'."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Successfully converted '$INPUT_FILE' to '$OUTPUT_BASENAME'"
|
||||
|
||||
Loading…
Reference in New Issue