shuai21886 发表于 2023-6-7 00:15

【AI原创】PDF批量删除指定页面小工具

本帖最后由 shuai21886 于 2023-6-7 13:00 编辑

最近下载了一堆研报,但是里面都带广告,想着怎么批量删除,网上没找到合适的工具。
听说Chatgpt写代码很厉害,想着能不能让它帮我实现这个功能。      
然后,通过一顿操作之后居然真的实现了。。。连怎么封装成exe文件都实现了,这也泰裤辣!!{:1_909:}      
说明:软件是由Chatgpt3.5生成的,大约花了2-3小时实现。经过测试Chatgpt3.5调用库的用法有的没有更新,测试Chatgpt4.0调用PyPDF2的用法没有问题。但由于没有会员,免费Chatgpt4.0有使用次数,最后面还是通过Chatgpt3.5完成的。
声明:本人并不是程序员,只懂一点简单的编程基础。
兄弟们,只能说科技改变生活,这么好的工具还不用起来!!      
以下是AI做出的最后成品:https://attach.52pojie.cn//forum/202306/07/000825x5ajxgf5m8855j5e.png?l
最后的源代码:

# -*- coding: utf-8 -*-

import tkinter as tk
from tkinter import filedialog
from PyPDF2 import PdfReader, PdfWriter
import os


def select_input_folder():
    folder_path = filedialog.askdirectory()
    input_folder_entry.delete(0, tk.END)
    input_folder_entry.insert(0, folder_path)


def select_output_folder():
    folder_path = filedialog.askdirectory()
    output_folder_entry.delete(0, tk.END)
    output_folder_entry.insert(0, folder_path)


def delete_pages():
    input_folder = input_folder_entry.get()
    output_folder = output_folder_entry.get()

    # 创建输出文件夹
    os.makedirs(output_folder, exist_ok=True)

    # 获取输入文件夹中的所有PDF文件
    pdf_files =

    # 遍历每个PDF文件进行转换
    for file_name in pdf_files:
      input_file = os.path.join(input_folder, file_name)
      output_file = os.path.join(output_folder, file_name)

      try:
            # 打开PDF文件
            with open(input_file, 'rb') as file:
                reader = PdfReader(file)
                total_pages = len(reader.pages)

                # 指定要删除的页面
                page_to_remove = int(page_to_remove_entry.get())

                # 创建一个新的PDF写入对象
                writer = PdfWriter()

                # 复制除要删除的页面外的所有页面到新的PDF文件中
                for page_num in range(total_pages):
                  if page_num != page_to_remove - 1:
                        writer.add_page(reader.pages)

                # 保存新的PDF文件
                with open(output_file, 'wb') as output:
                  writer.write(output)
      except Exception as e:
            error_log_text.insert(tk.END, f"转换失败:{file_name}\n")
            error_log_text.insert(tk.END, f"错误信息:{str(e)}\n\n")

    error_log_text.insert(tk.END, "转换完成!")


# 创建主窗口
window = tk.Tk()
window.title("PDF页面删除工具")

# 输入文件夹选择部分
input_folder_label = tk.Label(window, text="输入文件夹:")
input_folder_label.grid(row=0, column=0, padx=10, pady=10, sticky=tk.W)

input_folder_entry = tk.Entry(window, width=40)
input_folder_entry.grid(row=0, column=1, padx=10, pady=10)

input_folder_button = tk.Button(window, text="选择文件夹", command=select_input_folder)
input_folder_button.grid(row=0, column=2, padx=10, pady=10)

# 输出文件夹选择部分
output_folder_label = tk.Label(window, text="输出文件夹:")
output_folder_label.grid(row=1, column=0, padx=10, pady=10, sticky=tk.W)

output_folder_entry = tk.Entry(window, width=40)
output_folder_entry.grid(row=1, column=1, padx=10, pady=10)

output_folder_button = tk.Button(window, text="选择文件夹", command=select_output_folder)
output_folder_button.grid(row=1, column=2, padx=10, pady=10)

# 删除页面部分
page_to_remove_label = tk.Label(window, text="要删除的页面:")
page_to_remove_label.grid(row=2, column=0, padx=10, pady=10, sticky=tk.W)

page_to_remove_entry = tk.Entry(window, width=40)
page_to_remove_entry.grid(row=2, column=1, padx=10, pady=10)

# 删除按钮
delete_button = tk.Button(window, text="运行", command=delete_pages)
delete_button.grid(row=3, column=0, columnspan=3, padx=10, pady=10)

# 错误日志文本框
error_log_text = tk.Text(window, width=60, height=10)
error_log_text.grid(row=4, column=0, columnspan=3, padx=10, pady=10)

# 启动窗口
window.mainloop()




生成的软件360报毒,菜鸟不知道怎么弄,担心中毒的可以使用源码。

下载地址:https://wwtm.lanzoum.com/ieUbP0yiv03c

DKBook 发表于 2023-6-7 04:25

厉害,想知道用的Chatgpt哪个版本没我也想装一个了

努力画图 发表于 2023-6-7 06:29

感觉不错,学习一下

拂你青丝 发表于 2023-6-7 07:33

感谢分享

chayunyuxiang 发表于 2023-6-7 07:35

分享一下你的成品呗

homehome 发表于 2023-6-7 08:32

谢谢楼主,还需要增加PyPDF2这个模块

yu520 发表于 2023-6-7 08:40

这个能进行PDF编辑吗

加奈绘 发表于 2023-6-7 09:00

科技改变生活,只要会引导ai,提出的问题就能很好解决,确实方便你我他

ghwanz 发表于 2023-6-7 10:28

泰酷辣,源码有了,请教一下怎么封装的{:1_904:}

梦中之梦 发表于 2023-6-7 11:29

{:301_994:}ARCOBAT最好用,PDF24啥的次之
页: [1] 2 3
查看完整版本: 【AI原创】PDF批量删除指定页面小工具