Windows下批量修改指定目录下所有的PDF删除第一页并保存到指定目录,文件名保持不变

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。Windows下批量修改指定目录下所有的PDF删除第一页并保存到指定目录,文件名保持不变,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

首先,我们需要安装两个Python库,一个叫做PyPDF2,用来处理PDF文件。如果还没有安装这个库,可以通过运行pip install PyPDF2命令来安装
还需要安装 PyCryptodome 库来处理 AES 加密的 PDF 文件:PyCryptodome 是一个Python加密库,PyPDF2 会使用它来处理加密的 PDF 文件,使用以下命令安装:
pip install pycryptodome

以下是具体的python代码

import os
from PyPDF2 import PdfReader, PdfWriter

def 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 os
from PyPDF2 import PdfReader, PdfWriter

def 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.')

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/192257.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!