Pdf文件已经成为了一种最为普遍的文件格式,目前大部分的电子资料都以Pdf格式存在。如果就想浏览文件,一个普通的Pdf Reader就可以搞定了。不过光是浏览文件可能还远不够。我在使用的过程中偶尔就可能会有如下要求:
1 只关注PDF电子书的某个章节,希望可以独立出来一个PDF文件
2 希望把原本以各个章节存在的PDF文件合并成一本书
3 从PDF文件中抽取出文本
4 将PDF中某页旋转一个角度
……
    要完成上述任务,可能就需要一些付费的商业软件了,比如Adobe Professional等。这不仅要银子,而且软件本身通常也很大(通常有几百兆),感觉有点不值当了。不过有了Python和pyPdf模块,这一切就变得很简单了。对于合并文档的实现代码如下:
import sys
from pyPdf import PdfFileWriter, PdfFileReader
def mergePdfFiles(outputFile, inputFiles):
        output = PdfFileWriter()
        for inputFile in inputFiles:
                print 'Adding file' + inputFile
                input = PdfFileReader(file(inputFile, "rb"))
                for page in input.pages:
                        output.addPage(page)
        print 'All files added'
        #From writer to file
        outputStream = file(outputFile, "wb")
        output.write(outputStream)
        outputStream.close()
if __name__ == '__main__':
        print 'Merging Pdf Files...'
        mergePdfFiles("Book.pdf", ["Part1.pdf","Part2.pdf"])
        print 'Merge Completed'

   其他的任务通过稍微改造也可以实现。这样Pdf就尽在掌握了。
 
参考资料: