如何使用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開始切分-----------')
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開始切分----------- 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)讀寫文件操作實(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-07
python簡(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-07
Python中基礎(chǔ)的socket編程實(shí)戰(zhàn)攻略
Python擁有內(nèi)置的socket模塊,可以用簡(jiǎn)潔明了的代碼來(lái)進(jìn)行socket通信操作,這里我們就為大家整理了一份Python中基礎(chǔ)的socket編程實(shí)戰(zhàn)攻略,需要的朋友可以參考下.2016-06-06
scrapy中的spider傳參實(shí)現(xiàn)增量的方法
有時(shí)候需要根據(jù)項(xiàng)目的實(shí)際需求向spider傳遞參數(shù)來(lái)控制spider的運(yùn)行方式,本文主要介紹了scrapy中的spider傳參實(shí)現(xiàn)增量的方法,具有一定的參考價(jià)值,感興趣的可以了解一下2022-06-06
python函數(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-04
Python實(shí)現(xiàn)判斷并移除列表指定位置元素的方法
這篇文章主要介紹了Python實(shí)現(xiàn)判斷并移除列表指定位置元素的方法,涉及Python針對(duì)列表的索引范圍判斷及元素刪除等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04

