赞
踩
参考攻略:
使用Python把一堆图片排序后转换成PDF,最终得到一人之下漫画pdf
Python自动控制鼠标中键滚动并截屏保存图像
from time import sleep from os import mkdir from os.path import exists from win32api import mouse_event from win32con import MOUSEEVENTF_WHEEL from PIL.ImageGrab import grab import os import re from PIL import Image def open_file_url(path): # os.listdir 会得到目录下的文件名列表 file_name_list = os.listdir(path) # print(file_name_list) # 得到的文件名列表的顺序有点不符合预期, 所以要先进行一下排序 # re.findall(r"\d+")会根据正则在指定字符串内查找全部的数字,返回一个列表, "\d+" 表示查找数字 # 根据文件名的特征取出最后一个数字进行排序即可 file_name_list.sort(key=lambda x: int(re.findall(r"\d+", x)[-1])) image_list = [] # 创建一个列表把通过 Image 打开的图片放入 pdf_poster = Image.open(path + "\\" + file_name_list[0]) # 打开第一张图片,这个图片可以看成生成PDF的封面 file_name_list.pop(0) # 为防止重复图片 for file_name in file_name_list: # path 是传进来的文件夹路径, 所以在拼接上图片的名字就是文件夹下图片的完整路径 # print(file_name) img_url = path + "\\" + file_name print(img_url) imgfile = Image.open(img_url) image_list.append(imgfile) pdf_poster.save("./输出论文.pdf", 'pdf', save_all=True, append_images=image_list) directory = 'captured_picture' if not exists(directory): mkdir(directory) print('3s后滚动截图') sleep(3) for i in range(113): grab((850,128,1700,1280)).save(rf'{directory}\ttt{i}.jpg') mouse_event(MOUSEEVENTF_WHEEL,0,0,-300) sleep(2) if __name__ == '__main__': open_file_url(r"captured_picture")
说明:
1、grab函数中间四参数分别为截屏框的左上角坐标点和右下角坐标点,就相当于截屏的起点和终点
2、本例子用Pycharm实现
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。