如何使用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)讀寫文件操作實(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圖像處理模塊ndimage用法實(shí)例分析
這篇文章主要介紹了Python圖像處理模塊ndimage用法,結(jié)合實(shí)例形式分析了Python圖像處理模塊ndimage基本功能及常見(jiàn)的圖形運(yùn)算操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-09-09
Python?pygame項(xiàng)目實(shí)戰(zhàn)監(jiān)聽(tīng)退出事件
Python實(shí)現(xiàn)的異步代理爬蟲(chóng)及代理池
http請(qǐng)求 request失敗自動(dòng)重新嘗試代碼示例
python輸出數(shù)學(xué)符號(hào)實(shí)例
關(guān)于Python常用函數(shù)中NumPy的使用

