很简单直接上代码,需要安装PyPDF2,然后将下面代码保存到cut_pdf.py
"""
前置:
pip install PyPDF2
python cut_pdf.py <fn.pdf> start_page end_page
"""
import os
import sys
from PyPDF2 import PdfReader, PdfWriter
def read_pdf(file_name):
fp = open(file_name, 'rb')
reader = PdfReader(fp)
return reader.pages
def write_pdf(pages, to_fn):
writer = PdfWriter()
for p in pages:
writer.add_page(p)
with open(to_fn, 'wb') as ofp:
writer.write(ofp)
def cut_pdf(file_path, b, e):
pages = read_pdf(file_path)
file_dir, file_name = os.path.split(file_path)
file_base, file_ext = os.path.splitext(file_name)
e = min(e, len(pages))
new_file = file_path.replace(file_base, f'{file_base}_{b}_{e}')
write_pdf(pages[b:e+1], new_file)
return new_file
if __name__ == '__main__':
if len(sys.argv) < 4:
print('用法:\n\tpython <pdf_file> <start_page> <end_page>')
exit(-1)
pdf_file = sys.argv[1]
start_page = sys.argv[2]
end_page = sys.argv[3]
ans = cut_pdf(pdf_file, int(start_page), int(end_page))
print(f'文件写入到: {ans}')
看一下执行效果:
$ python cut_pdf.py
用法:
python <pdf_file> <start_page> <end_page>
$ python cut_pdf.py /Users/neozhao/Documents/图书馆/人文类/罪与罚.pdf 100 110
文件写入到: /Users/neozhao/Documents/图书馆/人文类/罪与罚_100_110.pdf
很简单吧,赶紧保存下来,要用的时候直接用