python实际应用2-拆分PDF

@2018年12月24日

  • 背景
    由于工作性质,经常面对不同的问题,某些场景下SQL+Excel、常用办公软件不能处理,这时到网上找一些案例,自己动手用python处理。后续,借此博客记录比较典型的处理过程。
    后续,陆续实际处理的问题,如
    1. 合并PDF(https://blog.csdn.net/weixin_44230447/article/details/85231757)
    2. 拆分PDF
    3. 敏感字段MD5脱敏
    4. 从非架构化的大文本文件中提取指定条件的记录

  • 需求
    上一个案例,为合并PDF。但工作中正好也遇到要将PDF拆分打散的情况。Python 3下实现此需求,将多页PDF文件,分成单页。

  • 拆分PDF的python

'''# -*- coding:utf-8*-'''
import sys
import importlib
importlib.reload(sys)

import os
import os.path
from PyPDF2 import PdfFileReader, PdfFileWriter 
import time
time1=time.time()

##########################拆分一个PDF文件,输出到同一个文件夹下########################
def split_pdf(infn):
    # infn: 切分的pdf
    pdf_input = PdfFileReader(open(infn, 'rb'))
    page_count = pdf_input.getNumPages()
    print("page_count: ",page_count)

    # 进行切分
    for num in range(0, page_count):
        pdf_output = PdfFileWriter()
        outfn_name = "".join(infn.split(".")[:-1]) + "_" + str(num+1) + ".pdf"
        print("The out_file_name is ",outfn_name)
        pdf_output.addPage(pdf_input.getPage(num))
        pdf_output.write(open(outfn_name, 'wb'))

if __name__ == '__main__':
    file_dir = r'D:\扫描文件\split_input/'     # 待拆分PDF 所在文件夹
    in_file_name=u"某某待拆分文件.pdf"        # 待拆分PDF文件名称
    
    print("this file is ",file_dir+in_file_name)
    split_pdf(file_dir+in_file_name)
    time2 = time.time()
    print( u'总共耗时:' + str(time2 - time1) + 's')
  • 使用注意事项
    将要拆分的PDF文件,如某某待拆分文件.pdf,放到D:\扫描文件\split_input 中,拆分后的文件"某某待拆分文件_1.pdf"默认输出到D:\扫描文件\split_input\中。如指定不同的输出目录,建议修改第22行的outfn_name。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值