I have a script using Ghostscript, to split PDF's, then merge them based on a set amount of pages. Is their anyway once the new merged document is created to then add a page to the beginning of the PDF, that says Part 1 of 2 or something like that, using Ghostscript, since it's what I have to do PDF manipulation.

    for file in /mnt/bridge/pdfsplit/staging/*.pdf
  echo $file
  #Splits All the Files
  gs -q -dNOPAUSE -sDEVICE=pdfwrite -o tmp_%04d.pdf $file

  #Removes Last File in List; Ghostscript creates a blank file everytime it splits
  find /mnt/bridge/pdfsplit/ -name "tmp*"  | tail -1 | while read filename ; do rm $filename; done

    pageCount=$(find . -name "tmp*" | wc -l)
    documents=$(((pageCount / 998) + (pageCount % 998 > 0)))
    pages=$(((pageCount/documents) + (pageCount % documents > 0 )))

    for ((i=1; i<$pageCount; i++)); do
      list=$(ls -1 tmp* 2>/dev/null | head -$pages)
      count=$(ls -1 tmp* 2>/dev/null| wc -l)
      gs -q -dNOPAUSE -sDEVICE=pdfwrite -o /mnt/bridge/pdfsplit/splitFiles/$(basename $file | cut -d. -f1)_Part_$(printf %04d $i).pdf -dBATCH $list
      rm -f $list
      echo "Part $i of $documents"
      if [[ $count -eq 0 ]]; then
         echo "Done"

   #Removes Last File in List; Ghostscript is creating a blank file
   find /mnt/bridge/pdfsplit/splitFiles/ -name "*.pdf"  | tail -1 | while read filename ; do rm $filename; done


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.