import sys import java.lang as lang import java.io as io import com.lowagie.text as itext import com.lowagie.text.pdf as pdf infile=sys.argv[1] def createPdf(pagenumber,infile,outfile): fin=io.FileInputStream(infile) fout=io.FileOutputStream(outfile) r=pdf.PdfReader(fin) doc=itext.Document(r.getPageSizeWithRotation(1)) w=pdf.PdfWriter.getInstance(doc,fout) doc.open() cb1 = w.getDirectContent() doc.setPageSize(r.getPageSizeWithRotation(pagenumber)) doc.newPage() page=w.getImportedPage(r,pagenumber) rotation=r.getPageRotation(pagenumber) if rotation == 90 or rotation == 270 : cb1.addTemplate( page, 0, -1, 1, 0, 0, r.getPageSizeWithRotation(pagenumber).height() ) else : cb1.addTemplate(page, 1, 0, 0, 1, 0, 0) doc.close(); r.close() fin.close() fout.close() def getNumberOfPages(infile): fin=io.FileInputStream(infile) r=pdf.PdfReader(fin) n=r.getNumberOfPages() r.close() fin.close() return n basefilename=lang.String(infile).replaceAll(".pdf$","") n=getNumberOfPages(infile) for i in range(n): pagenumber=i+1 outfile=basefilename+"-"+str(pagenumber)+".pdf" createPdf(pagenumber,infile,outfile)