读取文件夹内pdf文件,删除pdf文件最后一页,另存至另一个文件夹内
时间: 2024-12-13 13:16:59 浏览: 8
在Python中,你可以使用`os`, `shutil`, 和 `PyPDF2` 这些库来完成这样的任务。首先确保已经安装了这三个库,如果没有可以使用pip安装:
```bash
pip install os shutil PyPDF2
```
下面是一个简单的示例脚本,它遍历指定文件夹内的所有PDF文件,删除每份文件的最后一页,并将结果保存到目标文件夹:
```python
import os
import shutil
from PyPDF2 import PdfFileWriter, PdfFileReader
# 源文件夹路径
source_folder = 'path/to/source/folder'
# 目标文件夹路径
target_folder = 'path/to/target/folder'
# 检查源文件夹是否存在
if not os.path.exists(source_folder):
print(f"Source folder {source_folder} does not exist.")
else:
# 创建目标文件夹,如果不存在
if not os.path.exists(target_folder):
os.makedirs(target_folder)
# 遍历源文件夹中的PDF文件
for filename in os.listdir(source_folder):
if filename.endswith('.pdf'):
# 打开PDF文件,创建一个新的PdfFileWriter用于写入处理后的数据
with open(os.path.join(source_folder, filename), 'rb') as file_in, \
open(os.path.join(target_folder, filename[:-4] + '_processed.pdf'), 'wb') as file_out:
reader = PdfFileReader(file_in)
writer = PdfFileWriter()
# 删除最后一张页面并添加其余页面到新的PDF中
for page_num in range(reader.getNumPages() - 1):
writer.addPage(reader.getPage(page_num))
# 写入处理后的PDF
writer.write(file_out)
# 删除原始文件,仅保留处理后的
os.remove(os.path.join(source_folder, filename))
print("PDF files have been processed and saved to the target folder.")
阅读全文