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就尽在掌握了。
参考资料: