加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

简单拆分PDF文件,将一个PDF文件拆分成指定份数

发布时间:2020-12-17 17:26:21 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 from pyPdf import PdfFileWriter,PdfFileReaderimport osimport timeimport sysdef part_pdf(input_file,output_file,config_count,f_w,now,file_nam

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

from pyPdf import PdfFileWriter,PdfFileReader
import os
import time
import sys

def part_pdf(input_file,output_file,config_count,f_w,now,file_name):
    file1 = file(input_file,'rb')
    pdf = PdfFileReader(file1)
    pdf_pages_len = len(pdf.pages)
    if config_count <= pdf_pages_len:
        ye = pdf_pages_len / config_count
        lst_ye = pdf_pages_len % config_count
        part_count = 0
        part_count_ye = 0
        for fen in range(config_count):
            part_count += 1
            if part_count == config_count:
                part_ye = ye + lst_ye
            else:
                part_ye = ye

            write_pdf(pdf,part_count_ye,part_count_ye+part_ye,fen,output_file)
            part_count_ye += ye
    else:
        f_w.writelines('time: '+now+' file name: '+file_name+' status: part_num > pdf pages  [error]n')
        sys.exit(1)

def write_pdf(pdf,part_count_ye_end,output_file):
    out = PdfFileWriter()
    for pp in range(part_count_ye,part_count_ye_end):
        out.addPage(pdf.getPage(pp))
    ous = file(output_file+'_'+str(fen+1)+'.pdf','wb')
    out.write(ous)
    ous.close()

def pdf_main():
    f = open('configure.txt','r')
    f_w = open('pp_log.txt','a')
    now = time.strftime('%Y-%m-%d %H:%M:%S')
    for i in f:
        i_ = i.strip()
        aa = i_.split('=')[1]
        if i_.find('part_num=') != -1 and aa.isdigit():
            config_count = int(aa)
        else:
            f_w.writelines('time: '+now+' status: part_num in configure.txt is error  [error]n')
            sys.exit(1)

    files = os.listdir('input_dir/')
    for each in files:
        input_file = 'input_dir/'+each
        file_name = input_file[input_file.index('/'):input_file.index('.')]
        output_file = 'output_dir/'+file_name
        part_pdf(input_file,file_name)
        f_w.writelines('time: '+now+' file name: '+file_name+' status: successn')

pdf_main()

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读