python保留PDF指定页,删除其他多余页
最近整理个文档,有这个需要。然后看到有博主写了,但是因为使用的PyPDF2==3.0.1。有一些细节差异,就调整了一下一并发出来了。
链接: python删除PDF指定页数
链接: python删除pdf指定页的方法
import PyPDF2
def keep_pdf_page_only(input_path, output_path, page_number, page_end_number):
with open(input_path, 'rb') as input_file:
reader = PyPDF2.PdfReader(input_file)
writer = PyPDF2.PdfWriter()
num_pages = len(reader.pages)
if page_number < 1 or page_number > num_pages or page_end_number > num_pages:
print(f"Invalid page number. The PDF file has {num_pages} pages.")
return
# 仅添加指定的页面到输出文件中
# page = reader.pages[page_number]
# writer.add_page(page)
if page_number > page_end_number:
page_end_number = page_number
# 添加多页面到输出文件中
for current_page in range(page_number - 1, page_end_number):
page = reader.pages[current_page]
writer.add_page(page)
with open(output_path, 'wb') as output_file:
writer.write(output_file)
print(f"Page {page_number} to {page_end_number} kept successfully, and all other pages deleted.")
# 示例用法
input_path = 'input.pdf' # 输入PDF文件路径
output_path = 'output.pdf' # 输出PDF文件路径
page_start_to_keep = 10 # 要保留的开始页码(从第1页开始)
page_end_to_keep = 15 # 要保留的结束页码
keep_pdf_page_only(input_path, output_path, page_start_to_keep, page_end_to_keep)