python删除PDF指定页数
在一位博主的基础上进行简单的修改,下面代码可简单修改页数后使用。
import PyPDF2
def delete_pdf_page(input_path, output_path, page_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 < 0 or page_number >= num_pages:
print(f"Invalid page number. The PDF file has {num_pages} pages.")
return
for current_page in range(num_pages):
if current_page < page_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 + 1} deleted successfully.")
# 示例用法
input_path = r"C:\Users\Fada\Desktop\file1.pdf" # 输入PDF文件路径
output_path = r"C:\Users\Fada\Desktop\temp.pdf" # 输出PDF文件路径
page_number_to_delete = 10 # 要删除的页码
delete_pdf_page(input_path, output_path, page_number_to_delete)
- 博主使用的python为3.10.9,匹配的PyPDF2 的版本是3.0.0.
- 对于该版本的PyPDF2,有些函数的用法与之前版本有所修改
- 友友们在模仿借鉴他人代码时,记得查看对应版本函数的用法~
- 以上。