kdsndr

bookscript

Oct 5th, 2014
1,043
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.23 KB | None | 0 0
  1. from math import *
  2. import sys
  3. from pyPdf import PdfFileWriter, PdfFileReader
  4.  
  5.  
  6. blank = "blank.pdf"
  7. inpdf = PdfFileReader(file( sys.argv[1], "rb"))
  8. outpdf = PdfFileWriter()
  9.  
  10. n = 6
  11. numberOfPages = inpdf.getNumPages();
  12.  
  13. katherne  = n*4
  14. numberOfKathernes = int(ceil(float(numberOfPages)/katherne))
  15.  
  16. pages = range(0,numberOfKathernes*katherne)
  17.  
  18. output_pdf = PdfFileWriter()
  19.  
  20. for j in range(0,numberOfKathernes):
  21.  
  22.     A = n*4
  23.     B = 1
  24.     index = 1
  25.     for i in range(0,katherne):
  26.         if index%4 < 2:
  27.             pages[j*n*4+i] = j*n*4 + A
  28.             A = A - 1
  29.         else:
  30.             pages[j*n*4+i] = j*n*4 + B
  31.             B = B + 1
  32.         index = index + 1
  33.  
  34.  
  35.  
  36. number = 1
  37. uToShift = 0
  38. for page in pages:
  39.    
  40.     if(page >= numberOfPages):
  41.         outpdf.addBlankPage()
  42.     else:
  43.         p = inpdf.getPage(page-1)
  44.        
  45.         if number%2 == 1:
  46.             uToShift = -50
  47.         else:
  48.             uToShift = 50
  49.        
  50.         for box in (p.mediaBox, p.cropBox, p.bleedBox, p.trimBox, p.artBox):
  51.             box.lowerLeft = (box.getLowerLeft_x() - uToShift, box.getLowerLeft_y())
  52.             box.upperRight = (box.getUpperRight_x() - uToShift, box.getUpperRight_y())
  53.         outpdf.addPage(p)
  54.     number = number + 1
  55.  
  56.  
  57. #outputStream = file(sys.argv[2], "wb")
  58. outputStream = file("output.pdf","wb")
  59. outpdf.write(outputStream)
  60. outputStream.close()
Advertisement
Add Comment
Please, Sign In to add comment