Python實(shí)現(xiàn)簡(jiǎn)單拆分PDF文件的方法
本文實(shí)例講述了Python實(shí)現(xiàn)簡(jiǎn)單拆分PDF文件的方法。分享給大家供大家參考。具體如下:
依賴pyPdf處理PDF文件
切分pdf文件
使用方法:
1)將要切分的文件放在input_dir目錄下
2)在configure.txt文件中設(shè)置要切分的份數(shù)(如要切分4份,則設(shè)置part_num=4)
3)執(zhí)行程序
4)切分后的文件保存在output_dir目錄下
5)運(yùn)行日志寫在pp_log.txt中
P.S. 本程序可以批量切割多個(gè)pdf文件
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, part_count_ye_end, fen, 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, output_file, config_count, f_w, now, file_name) f_w.writelines('time: '+now+' file name: '+file_name+' status: success\n') pdf_main()
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python中函數(shù)的參數(shù)傳遞與可變長(zhǎng)參數(shù)介紹
這篇文章主要介紹了Python中函數(shù)的參數(shù)傳遞與可變長(zhǎng)參數(shù)介紹,本文分別給出多個(gè)代碼實(shí)例來(lái)講解多種多樣的函數(shù)參數(shù),需要的朋友可以參考下2015-06-06Python獲取統(tǒng)計(jì)自己的qq群成員信息的方法
這篇文章主要介紹了Python獲取統(tǒng)計(jì)自己的qq群成員信息的方法,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11在Pytorch中自定義dataset讀取數(shù)據(jù)的實(shí)現(xiàn)代碼
這篇文章給大家介紹了如何在Pytorch中自定義dataset讀取數(shù)據(jù),文中給出了詳細(xì)的圖文介紹和代碼講解,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-12-12Python實(shí)現(xiàn)結(jié)構(gòu)體代碼實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)結(jié)構(gòu)體代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Python+pyecharts繪制雙動(dòng)態(tài)曲線教程詳解
pyecharts 是一個(gè)用于生成 Echarts 圖表的類庫(kù)。Echarts 是百度開源的一個(gè)數(shù)據(jù)可視化 JS 庫(kù)。用 Echarts 生成的圖可視化效果非常棒。本文將用pyecharts繪制雙動(dòng)態(tài)曲線,需要的可以參考一下2022-06-06django 實(shí)現(xiàn)手動(dòng)存儲(chǔ)文件到model的FileField
這篇文章主要介紹了django 實(shí)現(xiàn)手動(dòng)存儲(chǔ)文件到model的FileField,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03django連接Mysql中已有數(shù)據(jù)庫(kù)的方法詳解
眾所周知Django較為適合原生開發(fā),即通過(guò)該框架搭建一個(gè)全新的項(xiàng)目,通過(guò)在修改models.py來(lái)創(chuàng)建新的數(shù)據(jù)庫(kù)表,下面這篇文章主要給大家介紹了關(guān)于django連接Mysql中已有數(shù)據(jù)庫(kù)的相關(guān)資料,需要的朋友可以參考下2022-05-05