python对指定文件夹的所有pdf进行截图并且保存到目标文件夹(一)

您所在的位置:网站首页 pdf如何整页截图发送 python对指定文件夹的所有pdf进行截图并且保存到目标文件夹(一)

python对指定文件夹的所有pdf进行截图并且保存到目标文件夹(一)

2024-07-11 21:55| 来源: 网络整理| 查看: 265

功能解析:使用python对指定文件夹的所有pdf进行截图并且保存到目标文件夹。步骤:一,遍历存储目标文件夹的存储pdf的文件夹;二,在指定的路径创建原先存储pdf的文件夹,名称相同;三,遍历存储pdf的文件,截图并存储到目标文件夹。

import os import datetime import fitz NOW_DAY = datetime.date.today().strftime('%m-%d') #存储pdf的文件 FEILE_ADDR = r'路径' #输出目标文件夹 TARGET_ADDR = r'路径' #存储pdf的文件夹名称 RP_DIRS_ARR = [] #截取pdf的图片并且保存 def pdf_image(pdf_name,save_addr,rp_name): img_paths = [] pdf = fitz.Document(pdf_name) #for i,pg in enumerate(range(0, pdf.pageCount)): arr=[0,int(pdf.page_count/2)-1,pdf.page_count-1] for i,pg in enumerate(arr): print(pg) page = pdf[pg] # 获得每一页的对象 trans = fitz.Matrix(3.0, 3.0).preRotate(0) pm = page.getPixmap(matrix=trans, alpha=False) # 获得每一页的流对象 img_path = save_addr+ '\\' +rp_name+ '_' + str(pg + 1) + '.jpg' print(img_path) pm.writePNG(img_path) # 保存图片 img_paths.append(img_path) pdf.close() return img_paths #遍历保存pdf文件夹名称 for root,dirs,files in os.walk(FEILE_ADDR+NOW_DAY): RP_DIRS_ARR = dirs print(RP_DIRS_ARR) break #在指定的路径创建文件夹 if not os.path.exists(TARGET_ADDR+NOW_DAY): os.mkdir(TARGET_ADDR+NOW_DAY) for dirs in RP_DIRS_ARR: if not os.path.exists(TARGET_ADDR+NOW_DAY+'\\'+dirs): os.mkdir(TARGET_ADDR+NOW_DAY+'\\'+dirs) #获取pdf文件名称并截取图片 for rp_dirs in RP_DIRS_ARR: for root,pdirs,files in os.walk(FEILE_ADDR+NOW_DAY+'\\'+rp_dirs): pdf_arr = [] for file_name in files: if(file_name[-3:]=='pdf'): pdf_arr.append(file_name) for pdf_name in pdf_arr: pdf_image(FEILE_ADDR+NOW_DAY+'\\'+rp_dirs+'\\'+pdf_name, TARGET_ADDR+NOW_DAY+'\\'+rp_dirs,rp_dirs) break


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3