pdf2image:这是一个 Python 库,可以从 PDF 中提取页面作为图片。结合 Python 脚本,您可以监控文件夹并批量处理。 创建 Python 脚本: [Asm] 纯文本查看 复制代码import os from pdf2image import convert_from_path from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler from PIL import Image # 设置要监控的文件夹路径 folder_to_watch = 'your_directory_path_here' def extract_thumbnails(pdf_path): images = convert_from_path(pdf_path, first_page=1, last_page=5) # 提取前5页 thumbnails = [] for img in images: img.thumbnail((200, 200)) # 创建缩略图 thumbnails.append(img) return thumbnails def save_combined_image(thumbnails, output_path): widths, heights = zip(*(i.size for i in thumbnails)) total_width = sum(widths) max_height = max(heights) combined_img = Image.new('RGB', (total_width, max_height)) x_offset = 0 for img in thumbnails: combined_img.paste(img, (x_offset, 0)) x_offset += img.width combined_img.save(output_path) class WatcherHandler(FileSystemEventHandler): def on_created(self, event): if event.is_directory: return if event.src_path.lower().endswith('.pdf'): print(f"Detected new file: {event.src_path}") thumbnails = extract_thumbnails(event.src_path) output_path = os.path.join('output', f"{os.path.basename(event.src_path)}_combined.jpg") save_combined_image(thumbnails, output_path) print(f"Saved combined thumbnail for {event.src_path} as {output_path}") def start_monitoring(): if not os.path.exists('output'): os.makedirs('output') event_handler = WatcherHandler() observer = Observer() observer.schedule(event_handler, folder_to_watch, recursive=False) observer.start() print(f"Monitoring folder: {folder_to_watch} for new PDF files...") try: while True: pass except KeyboardInterrupt: observer.stop() observer.join() if __name__ == "__main__": start_monitoring() 说明: 这个脚本会监控指定文件夹(folder_to_watch),当新 PDF 文件被创建时,它会自动提取前 5 页的缩略图。 缩略图将被拼接成一张大图并保存在 output 文件夹中。 确保 pdf2image 和 Pillow 库已安装。 运行: 将 folder_to_watch 设置为您要监控的文件夹路径。 运行脚本后,脚本将自动监控该文件夹,并对每个新上传的 PDF 文件执行提取和拼接操作。