如何使用python進(jìn)行pdf文件分割
這篇文章主要介紹了如何使用python進(jìn)行pdf文件分割,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
代碼如下
import os from pyPdf import PdfFileWriter, PdfFileReader def split(pdf_file, delta, output_dir): if not os.path.exists(output_dir): os.makedirs(output_dir) if not os.path.exists(pdf_file): return print('----------參數(shù)信息---------------') print('File:' + pdf_file) print('PageNums:' + str(delta)) print('Dest:' + output_dir) print('-----------pdf開(kāi)始切分-----------') file_name = pdf_file.split('/')[-1].split('.')[0] output_dir = os.path.join(out_dir, file_name) if not os.path.exists(output_dir): os.mkdir(output_dir) input_stream = file(pdf_file, 'rb') pdf_input = PdfFileReader(input_stream) page_count = pdf_input.getNumPages() sum_page_count = int(page_count / (delta * 1.0)) remind_page = page_count % delta for i in range(0, sum_page_count + 1): start = i * delta end = (i + 1) * delta pdf_out = PdfFileWriter() file_path = os.path.join(output_dir, os.path.split(pdf_file)[1]) # if i < sum_page_count: full_file_name = file_name + str(start + 1) + '-' + str(end) + ".pdf" file_path = os.path.join(output_dir, full_file_name) print(full_file_name + '切分完成') for j in range(start, end): page = pdf_input.getPage(j) pdf_out.addPage(page) else: full_file_name = file_name + str(start + 1) + '-' + str(start + remind_page) + ".pdf" file_path = os.path.join(output_dir, full_file_name) print(full_file_name + '切分完成') for j in range(delta * (sum_page_count), page_count): page = pdf_input.getPage(j) pdf_out.addPage(page) out_stream = file(file_path, 'wb') pdf_out.write(out_stream) out_stream.close() input_stream.close() print('-----------pdf切分完成-----------') if __name__ == '__main__': import sys #python splitPdf.py /Users/xxxxx/Downloads/UNIX網(wǎng)絡(luò)編程卷1:套接字聯(lián)網(wǎng)API(第3版).pdf 180 /Users/xxxxx/Documents/output try: pdf_path = sys.argv[1] page_count = int(sys.argv[2]) out_dir = sys.argv[3] split(pdf_path, page_count, out_dir) except: pass
使用方法
$ python splitPdf.py /Users/xxxxx/Downloads/UNIX網(wǎng)絡(luò)編程卷1:套接字聯(lián)網(wǎng)API(第3版).pdf 180 /Users/xxxxx/Documents/output ----------參數(shù)信息--------------- File:/Users/xxxxx/Downloads/UNIX網(wǎng)絡(luò)編程卷1:套接字聯(lián)網(wǎng)API(第3版).pdf PageNums:180 Dest:/Users/xxxxx/Documents/output -----------pdf開(kāi)始切分----------- UNIX網(wǎng)絡(luò)編程卷1:套接字聯(lián)網(wǎng)API(第3版)1-180.pdf切分完成 UNIX網(wǎng)絡(luò)編程卷1:套接字聯(lián)網(wǎng)API(第3版)181-360.pdf切分完成 UNIX網(wǎng)絡(luò)編程卷1:套接字聯(lián)網(wǎng)API(第3版)361-540.pdf切分完成 UNIX網(wǎng)絡(luò)編程卷1:套接字聯(lián)網(wǎng)API(第3版)541-720.pdf切分完成 UNIX網(wǎng)絡(luò)編程卷1:套接字聯(lián)網(wǎng)API(第3版)721-823.pdf切分完成 -----------pdf切分完成-----------
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python常見(jiàn)讀寫(xiě)文件操作實(shí)例總結(jié)【文本、json、csv、pdf等】
- Python如何把多個(gè)PDF文件合并代碼實(shí)例
- Python 實(shí)現(xiàn)加密過(guò)的PDF文件轉(zhuǎn)WORD格式
- Python3將jpg轉(zhuǎn)為pdf文件的方法示例
- Python解析并讀取PDF文件內(nèi)容的方法
- Python生成pdf文件的方法
- 基于Python實(shí)現(xiàn)對(duì)PDF文件的OCR識(shí)別
- python實(shí)現(xiàn)pdf轉(zhuǎn)換成word/txt純文本文件
- Python2.7讀取PDF文件的方法示例
- Python實(shí)現(xiàn)簡(jiǎn)單拆分PDF文件的方法
- python3如何將docx轉(zhuǎn)換成pdf文件
- Python編程快速上手——PDF文件操作案例分析
相關(guān)文章
python過(guò)濾中英文標(biāo)點(diǎn)符號(hào)的實(shí)例代碼
今天小編就為大家分享一篇python過(guò)濾中英文標(biāo)點(diǎn)符號(hào)的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07python簡(jiǎn)單實(shí)現(xiàn)基于SSL的IRC bot實(shí)例
這篇文章主要介紹了python簡(jiǎn)單實(shí)現(xiàn)基于SSL的IRC bot,實(shí)例分析了IRC機(jī)器人的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-06-06解決win7操作系統(tǒng)Python3.7.1安裝后啟動(dòng)提示缺少.dll文件問(wèn)題
這篇文章主要介紹了解決win7操作系統(tǒng)Python3.7.1安裝后啟動(dòng)提示缺少.dll文件問(wèn)題,本文給大家提供兩種解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Python中基礎(chǔ)的socket編程實(shí)戰(zhàn)攻略
Python擁有內(nèi)置的socket模塊,可以用簡(jiǎn)潔明了的代碼來(lái)進(jìn)行socket通信操作,這里我們就為大家整理了一份Python中基礎(chǔ)的socket編程實(shí)戰(zhàn)攻略,需要的朋友可以參考下.2016-06-06scrapy中的spider傳參實(shí)現(xiàn)增量的方法
有時(shí)候需要根據(jù)項(xiàng)目的實(shí)際需求向spider傳遞參數(shù)來(lái)控制spider的運(yùn)行方式,本文主要介紹了scrapy中的spider傳參實(shí)現(xiàn)增量的方法,具有一定的參考價(jià)值,感興趣的可以了解一下2022-06-06python函數(shù)中將變量名轉(zhuǎn)換成字符串實(shí)例
這篇文章主要介紹了python函數(shù)中將變量名轉(zhuǎn)換成字符串實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05用Python實(shí)現(xiàn)協(xié)同過(guò)濾的教程
這篇文章主要介紹了用Python實(shí)現(xiàn)協(xié)同過(guò)濾的教程,主要用于從大數(shù)據(jù)中抽取用戶信息偏好等等,需要的朋友可以參考下2015-04-04Python實(shí)現(xiàn)判斷并移除列表指定位置元素的方法
這篇文章主要介紹了Python實(shí)現(xiàn)判斷并移除列表指定位置元素的方法,涉及Python針對(duì)列表的索引范圍判斷及元素刪除等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04