用万能的python来分割PDF文档

搞技术的经常碰到几千页的PDF文档,而我们感兴趣的往往只有那么十几页,每次都开那么大的文档十分不友好,也不利于移动端阅读,于是就产生了这么一个切割PDF文档的需求。在网上查了很多,要么就是要下载一些来源不明的小程序,要么就是要把文档上传,也不怎么友好,偶然间发现万能的Python可以很方便的干这个事情,就做一下记录。

安装PyPDF2

PyPDF2Python中专门用来处理PDF的库,我们可以通过以下命令直接安装:

pip3 install PyPDF2
# in linux
sudo -H pip3 install PyPDF2

切割

这个库用起来也不麻烦,闲话少说,码上说事:

import os
from PyPDF2 import PdfFileReader, PdfFileWriter


def pdf_splitter(path):
    fname = os.path.splitext(os.path.basename(path))[0]

    pdf = PdfFileReader(path)
    pdf_writer = PdfFileWriter()
    # replace pages as you need 
    for page in range(3346, 4955):
        pdf_writer.addPage(pdf.getPage(page))

    output_filename = '{}_page_{}.pdf'.format(
        fname, page+1)

    with open(output_filename, 'wb') as out:
        pdf_writer.write(out)

    print('Created: {}'.format(output_filename))

if __name__ == '__main__':
    path = 'w9.pdf'
    pdf_splitter(r"/path/top/target.pdf")

简单起见就没用参数传递文件名什么的,省得每次还要看参数怎么写,好了,就酱!


本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。

发表新评论