PDF combine and compress scripts
You should run `brew install ghostscript` before you can use these.unknown
plain_text
a year ago
1.7 kB
8
Indexable
pdf_compress () {
# Check if there is at least one argument
if [ "$#" -ne 1 ]; then
echo "Usage: pdf_compress <input.pdf>"
return 1
fi
# Get the base name of the input file
input_pdf="$1"
compressed_output_pdf="${input_pdf%.*}.compressed.pdf"
# Run the Ghostscript command for compression
gs -q -dNOPAUSE -dBATCH -dSAFER \
-sDEVICE=pdfwrite \
-dCompatibilityLevel=1.3 \
-dPDFSETTINGS=/screen \
-dEmbedAllFonts=true \
-dSubsetFonts=true \
-dColorImageDownsampleType=/Bicubic \
-dColorImageResolution=144 \
-dGrayImageDownsampleType=/Bicubic \
-dGrayImageResolution=144 \
-dMonoImageDownsampleType=/Bicubic \
-dMonoImageResolution=144 \
-sOutputFile="$compressed_output_pdf" "$input_pdf"
# Check if the command succeeded
if [ $? -eq 0 ]; then
echo "Successfully compressed PDF into $compressed_output_pdf"
else
echo "Error occurred during PDF compression"
return 1
fi
}
pdf_merge () {
# Check if there are enough arguments
if [ "$#" -lt 2 ]; then
echo "Usage: merge_pdfs <input1.pdf> <input2.pdf> ... <inputN.pdf>"
return 1
fi
# Get the base name of the first input file
base_name="${1%.*}"
merged_output_pdf="${base_name}.merged.pdf"
# Run the Ghostscript command
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="$merged_output_pdf" "$@"
# Check if the command succeeded
if [ $? -eq 0 ]; then
echo "Successfully merged PDFs into $merged_output_pdf"
else
echo "Error occurred during PDF merge"
return 1
fi
}
Editor is loading...
Leave a Comment