首先安裝庫
使用PyPDF2
首先,確保你已經安裝了PyPDF2
。如果沒有安裝,可以通過pip安裝:
pip install PyPDF2
然后運行
import PyPDF2def remove_page(input_pdf_path, output_pdf_path, page_number_to_remove):# 打開PDF文件with open(input_pdf_path, 'rb') as file:reader = PyPDF2.PdfFileReader(file)writer = PyPDF2.PdfFileWriter()# 遍歷所有頁面,除了要刪除的頁面for page_num in range(reader.numPages):if page_num != page_number_to_remove:writer.addPage(reader.getPage(page_num))# 寫入新的PDF文件with open(output_pdf_path, 'wb') as output_file:writer.write(output_file)# 示例用法
input_pdf = 'example.pdf'
output_pdf = 'example_modified.pdf'
page_number_to_remove = 1 # 例如,刪除第二頁(索引從0開始)
remove_page(input_pdf, output_pdf, page_number_to_remove)
方法二
使用PDFPlumber
如果你更傾向于使用PDFPlumber
(雖然它主要用于提取文本而不是直接操作頁面),你首先需要安裝它
安裝庫
pip install pdfplumber
但是,PDFPlumber
本身不直接支持刪除頁面。你可以先用它提取頁面,然后使用PyPDF2
或其他方法重新組合頁面。例如:
import pdfplumber
import PyPDF2def remove_page_with_pdfplumber(input_pdf_path, output_pdf_path, page_number_to_remove):# 使用PDFPlumber提取頁面內容(可選,僅用于示例)pages = pdfplumber.extract_pages(input_pdf_path)extracted_pages = [pages[i] for i in range(len(pages)) if i != page_number_to_remove]# 使用PyPDF2重新組合頁面并保存新的PDF文件writer = PyPDF2.PdfFileWriter()for page in extracted_pages:page_obj = PyPDF2.pdf.PageObject.createBlankPage(None, width=page.width, height=page.height)writer.addPage(page_obj)writer._writePageElement(writer._addObject(page.data), page_obj) # 這里簡化處理,實際使用時可能需要更精細的控制with open(output_pdf_path, 'wb') as f:writer.write(f)# 示例用法
input_pdf = 'example.pdf'
output_pdf = 'example_modified.pdf'
page_number_to_remove = 1 # 例如,刪除第二頁(索引從0開始)
remove_page_with_pdfplumber(input_pdf, output_pdf, page_number_to_remove)