Advertisement
dingodog

interleave pdf pages (parallel text extended)

Dec 23rd, 2011
780
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.34 KB | None | 0 0
  1. #!/bin/sh
  2. #script able to interleave the pages of two pdf files, saving the result in a new pdf file. Useful for any use, specially to mount parallel text books
  3. echo "enter the name (with extension) of first PDF"
  4. read filename1
  5. echo "enter the name (with extension) of second PDF"
  6. read filename2
  7. pages1="`pdftk $filename1 dump_data output |grep Pages|cut -f2 -d :`"
  8. pages2="`pdftk $filename2 dump_data output |grep Pages|cut -f2 -d :`"
  9.  
  10. if [ $pages1 -ge $pages2 ]
  11.     then
  12.     pagesincr="$(echo "scale=0; $pages2+1" |bc -l)"
  13. echo "$filename1 has $pages1 pages"
  14. echo "$filename2 has $pages2 pages"
  15.  
  16. rule="$(for x in $(seq 1 $pages2); do echo -n "A$x B$x ";  done; for x in $(seq $pagesincr $pages1); do echo -n "A$x ";done)"
  17.    
  18.        
  19.     echo $rule
  20.        
  21.         elif
  22.         [ $pages2 -ge $pages1 ]
  23.             then
  24.     pagesincr="$(echo "scale=0; $pages1+1" |bc -l)"
  25.  
  26. echo "$filename1 has $pages1 pages"
  27. echo "$filename2 has $pages2 pages"
  28.  
  29. rule="$(for x in $(seq 1 $pages1); do echo -n "A$x B$x ";  done; for x in $(seq $pagesincr $pages2); do echo -n "B$x ";done)"
  30.  
  31.    
  32.     echo $rule
  33.                 else
  34. echo "$filename1 has $pages1 pages"
  35. echo "$filename2 has $pages2 pages"
  36.  
  37. rule="$(for ((a=1, b=1; a <= $pages1, b <= $pages2 ; a++, b++)); do echo -n "A$a B$b "; done)"
  38.  
  39. echo $rule
  40. fi
  41.  
  42. pdftk A=$filename1 B=$filename2 cat $rule output interleaved.pdf
  43. echo "file created!"
  44. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement