文章目录
前言
一、PDF如何快速拆分成图片?
先在百度进行了搜索,好多都是在线的工具,用几次还可以,但是拆分的文件多了,或者文件比较大就会有限制,思来想去,不如自己写一个本地脚本,用着方便也便捷,说干咱就干,准备写一个python处理的PDF文件的小脚本。
二、准备搞起来!!!
1.执行代码
首先确认需要用到的库:os、pdf2image 、tkinter。
import os
from pdf2image import convert_from_path
import tkinter as tk
from tkinter import filedialog, messagebox
def pdf_to_images(pdf_path, output_folder):
file_name, _ = os.path.splitext(os.path.basename(pdf_path))
images = convert_from_path(pdf_path)
for i, image in enumerate(images, start=1):
image_path = os.path.join(output_folder, f"{file_name}_page_{i}.png")
image.save(image_path, 'PNG')
print(f"Saved: {image_path}")
def process_single_pdf():
pdf_path = filedialog.askopenfilename(title="Select a PDF file", filetypes=[("PDF files", "*.pdf")])
if pdf_path:
output_folder = os.path.join(os.path.dirname(pdf_path), "Batch_Split")
os.makedirs(output_folder, exist_ok=True)
pdf_to_images(pdf_path, output_folder)
messagebox.showinfo("Success", "PDF has been split into images successfully!")
def process_pdf_folder():
folder_path = filedialog.askdirectory(title="Select a folder containing PDF files")
if folder_path:
output_folder = os.path.join(folder_path, "Batch_Split")
os.makedirs(output_folder, exist_ok=True)
for file in os.listdir(folder_path):
if file.lower().endswith('.pdf'):
pdf_path = os.path.join(folder_path, file)
pdf_to_images(pdf_path, output_folder)
messagebox.showinfo("Success", "All PDFs have been split into images successfully!")
2.简易GUI前端
分别可以处理单个的pdf文件,也可以导入一个文件夹,处理文件夹里面所有pdf文件,并且对所有的pdf文件进行批量处理。
def create_gui():
root = tk.Tk()
root.title("PDF to Images Converter")
tk.Button(root, text="Select Single PDF", command=process_single_pdf).pack(fill=tk.X, padx=50, pady=5)
tk.Button(root, text="Select Folder with PDFs", command=process_pdf_folder).pack(fill=tk.X, padx=50, pady=5)
root.mainloop()
当前的前端比较基础,没加进度条等一些可以实时看到进度的代码,后续持续更新上。
不知道如何运行代码的可以私信我哦!!!
总结
脚本是因为日常工作中遇到了这种处理文件需求,首先当遇到一些人工成本很高并且都是重复性操作时,可以先考虑如何通过现有的环境资源去提高效率,当前AI飞速发展的时代,我们唯一的就是多动脑,懂思考,扩展知识面,打破舒适圈。第一次写文档,有很多不足的地方,有不足的地方欢迎各位大佬多多指教。
标签:output,pdf,path,PDF,folder,文件批量,os,图片 From: https://blog.csdn.net/weixin_45354379/article/details/137626014