读取PDF文件中的指定页码的范围并存储到指定的文件名
python
# -*- coding: utf-8 -*-
"""
Created on Mon Nov 27 21:36:12 2023
@author: cnliu
pip install pypdf2 #安装pypdf2 --3.o版
"""
from PyPDF2 import PdfWriter, PdfReader
import os
#pathToPDF = input('something like /home/pedro/Latin/ ... ')
pathToPDF = "d:/书/"
path2Extracts = 'd:/'
# get the names of the files available to extract from
files = os.listdir(pathToPDF)
# show the files in a loop so you can choose 1
# I haven't done that here
# choose a PDF from a list of PDFs from as bookname
#bookTitle = bookname.replace('.pdf', '')
bookname = "AHaSuanFa.pdf"
# read the pdf
pdf = PdfReader(pathToPDF + bookname)
#pages = pdf.getNumPages() (deprecated)
pages = len(pdf.pages)
print('This pdf has ' + str(pages) + ' pages')
print('What pages do you want to get?')
startnum = input('what is the starting page number? ')
print('If your last page is page 76, enter 76 for the end number')
endnum = input('what is the last page number? ')
start = int(startnum) - 1
end = int(endnum)
# only need to open pdfWriter 1 time
pdf_writer = PdfWriter()
for page in range(start, end):
pdf_writer.add_page(pdf.pages[page])
print('Enter the savename for this pdf, like CE3U8')
savename = input('Enter the name to save this pdf under, like CE3U8 No need to add .pdf ... ')
output_filename = savename + '.pdf'
with open(path2Extracts + output_filename, 'wb') as out:
pdf_writer.write(out)
print(f'Created: {output_filename} and saved in', path2Extracts)
print('All done!')