首先,我们需要安装两个Python库,一个叫做PyPDF2,用来处理PDF文件。如果还没有安装这个库,可以通过运行pip install PyPDF2
命令来安装
还需要安装 PyCryptodome 库来处理 AES 加密的 PDF 文件:PyCryptodome 是一个Python加密库,PyPDF2 会使用它来处理加密的 PDF 文件,使用以下命令安装:
pip install pycryptodome
以下是具体的python代码
import osfrom PyPDF2 import PdfReader, PdfWriterdef remove_first_page(source_pdf, output_pdf):reader = PdfReader(source_pdf)writer = PdfWriter()for page_num in range(1, len(reader.pages)):page = reader.pages[page_num]writer.add_page(page)with open(output_pdf, 'wb') as output_pdf_file:writer.write(output_pdf_file)source_directory = r'E:\images' # 原始pdf文件的目录output_directory = r'E:\images_modified' # 输出pdf文件的目录# 如果输出目录不存在,创建它if not os.path.exists(output_directory):os.mkdir(output_directory)# 遍历源目录下的所有文件for filename in os.listdir(source_directory):# 只处理PDF文件if filename.endswith('.pdf'):source_pdf = os.path.join(source_directory, filename)output_pdf = os.path.join(output_directory, filename)remove_first_page(source_pdf, output_pdf)
显示进度的版本:
import osfrom PyPDF2 import PdfReader, PdfWriterdef remove_first_page(source_pdf, output_pdf):reader = PdfReader(source_pdf)writer = PdfWriter()for page_num in range(1, len(reader.pages)):page = reader.pages[page_num]writer.add_page(page)with open(output_pdf, 'wb') as output_pdf_file:writer.write(output_pdf_file)source_directory = r'E:\images' # 原始pdf文件的目录output_directory = r'E:\images_modified' # 输出pdf文件的目录# 如果输出目录不存在,创建它if not os.path.exists(output_directory):os.mkdir(output_directory)# 获取源目录下所有PDF文件的数量pdf_files = [f for f in os.listdir(source_directory) if f.endswith('.pdf')]total_files = len(pdf_files)# 遍历源目录下的所有文件for index, filename in enumerate(pdf_files, start=1):source_pdf = os.path.join(source_directory, filename)output_pdf = os.path.join(output_directory, filename)print(f'Processing file {index} of {total_files}: {filename}')remove_first_page(source_pdf, output_pdf)print('All files processed.')
如果觉得《Windows下批量修改指定目录下所有的PDF删除第一页并保存到指定目录 文件名保持不变》对你有帮助,请点赞、收藏,并留下你的观点哦!