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