用python编制一个提取pdf指定页面的程序
时间: 2024-12-23 08:18:28 浏览: 8
在Python中,我们可以使用`PyPDF2`库来编写一个简单的程序,用于提取PDF文件中的指定页面。以下是一个基本的示例:
```python
import PyPDF2
def extract_pdf_pages(input_file, start_page, end_page=None):
# 检查输入的起始页和结束页是否合法
if not isinstance(start_page, int) or start_page < 0:
raise ValueError("Start page must be a non-negative integer.")
if end_page is not None and (not isinstance(end_page, int) or end_page <= start_page):
raise ValueError("End page should be greater than start page or not specified.")
# 打开PDF文件并读取
with open(input_file, 'rb') as f:
pdf_reader = PyPDF2.PdfFileReader(f)
# 创建空列表保存提取的页面
extracted_pages = []
# 提取指定范围内的页面
for i in range(start_page, pdf_reader.getNumPages() if end_page is None else end_page + 1):
try:
extracted_pages.append(pdf_reader.getPage(i))
except IndexError:
print(f"Invalid page number {i}. Skipping...")
# 返回提取后的页面列表
return extracted_pages
# 使用示例
pages = extract_pdf_pages('example.pdf', 3, 5) # 提取第3到第5页
for page in pages:
# 对每个页面进行进一步操作,比如打印内容或者保存为新的PDF等
print(page.extract_text())
```
这个脚本首先检查起始页和结束页的有效性,然后读取PDF文件,逐页提取,并将结果存储在一个列表中。如果你只需要单个页面,只需传入一个页数作为end_page即可。
阅读全文