请求修改Python脚本:用PyAutoGUI循环5次截图并追加至PDF
修改后的PyAutoGUI循环截图并生成多页PDF脚本
以下是满足你需求的修改后脚本,实现了循环5次截图、将所有截图追加到同一PDF、点击下一页的功能,同时优化了文件处理流程:
import pyautogui from PIL import Image # 配置路径和坐标 pdf_save_path = r'C:\Users\Eve\Desktop\test\New PDF.pdf' next_page_button_pos = (1333, 657) # 存储所有截图的列表 all_screenshots = [] # 执行5次截图操作,前4次截图后点击下一页 for cycle in range(5): # 1. 截取屏幕截图并转换为PDF支持的RGB格式 current_screenshot = pyautogui.screenshot().convert('RGB') all_screenshots.append(current_screenshot) # 3. 点击下一页(最后一次截图后无需点击) if cycle < 4: pyautogui.moveTo(next_page_button_pos, duration=1) pyautogui.click(next_page_button_pos, duration=1) # 2. 将所有截图一次性追加到同一个PDF文件中 if all_screenshots: all_screenshots[0].save( pdf_save_path, save_all=True, # 开启多页保存模式 append_images=all_screenshots[1:] # 追加剩余截图作为后续页面 )
关键修改说明
- 循环逻辑:用
range(5)实现5次循环,前4次截图后点击下一页,避免最后一次无意义的点击操作 - 无临时文件:直接在内存中处理截图,跳过了保存临时PNG的步骤,提升运行效率
- PDF追加优化:收集所有截图后一次性生成PDF,通过
save_all=True和append_images参数自动完成多页合并,避免反复读写PDF文件
内容的提问来源于stack exchange,提问作者eve tsum
相关产品推荐
相关产品推荐

