需求产生程序啊!今儿同学说想把100多页的pdf分成80多份,我说谁会这么无聊。虽然我记得好像电脑里什么程序能干这个事儿可是实在找不到了,于是顺手写了个分页程序,需要的页数标在集合里就ok了。Python用来解决生活中的小事情的能力真是强大的无与伦比。就10行。这要是个java,打开eclipse的时间都够我写完这个python程序了。

from pyPdf import PdfFileWriter,PdfFileReader
pdf = PdfFileReader(file('aa.pdf','rb'))
pagelist = [[1,2],[3,4,5],[6,7,8,9,10],[11,12,13,14,15,16,17,18,19,20]]
for i in range(len(pagelist)):
	out = PdfFileWriter()
	for j in range(len(pagelist[i])):
		out.addPage(pdf.getPage(pagelist[i][j] - 1))
		ous = file('set'+str(i+1)+'.pdf','wb')
		out.write(ous)
		ous.close()

而后同学又说想合并7个PDF,我说这个mac预览就能做嘛,可是预览把7个不到1M的PDF储存出来能有2G,肯定是哪里出问题了。于是又写了个合并程序,写完发现几秒就完成,这可这比用鼠标拖着文件去合并快多了。

from pyPdf import PdfFileWriter,PdfFileReader
out = PdfFileWriter()
for i in range(7):
	pdf = PdfFileReader(file(str(i+1)+'.pdf','rb'))
	for k in range(pdf.numPages):
		out.addPage(pdf.getPage(k))
ous = file('set.pdf','wb')
out.write(ous)
ous.close()
comments powered by Disqus