news 2026/5/28 10:48:28

千问3.5-2B实战教程:用JSON接口批量处理PDF截图,自动生成结构化图文摘要

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
千问3.5-2B实战教程:用JSON接口批量处理PDF截图,自动生成结构化图文摘要

千问3.5-2B实战教程:用JSON接口批量处理PDF截图,自动生成结构化图文摘要

1. 为什么需要批量处理PDF截图

在日常工作中,我们经常会遇到需要处理大量PDF截图的情况。比如:

  • 从学术论文中提取关键图表和说明
  • 整理产品文档中的界面截图和功能描述
  • 将会议资料中的幻灯片内容转换为结构化笔记

传统方法是人工一张张查看截图并记录内容,效率低下且容易出错。千问3.5-2B的视觉理解能力可以帮我们自动化这个过程。

2. 准备工作与环境配置

2.1 获取访问权限

首先确保你可以访问千问3.5-2B的Web服务:

https://gpu-hv221npax2-7860.web.gpu.csdn.net/

2.2 安装必要工具

我们需要Python环境来处理PDF和调用API:

pip install PyMuPDF requests pillow

2.3 准备测试数据

找一个包含多页截图的PDF文件作为测试素材。如果没有现成的,可以用以下代码从网页生成PDF:

import fitz # PyMuPDF doc = fitz.open() page = doc.new_page() rect = fitz.Rect(0, 0, 400, 600) page.insert_image(rect, filename="screenshot.png") doc.save("test.pdf")

3. 核心实现步骤

3.1 提取PDF中的图片

使用PyMuPDF从PDF中提取所有图片:

def extract_images_from_pdf(pdf_path, output_folder): import os os.makedirs(output_folder, exist_ok=True) doc = fitz.open(pdf_path) image_paths = [] for page_num in range(len(doc)): page = doc.load_page(page_num) images = page.get_images() for img_index, img in enumerate(images): xref = img[0] base_image = doc.extract_image(xref) image_path = f"{output_folder}/page{page_num}_img{img_index}.png" with open(image_path, "wb") as f: f.write(base_image["image"]) image_paths.append(image_path) return image_paths

3.2 调用千问3.5-2B的JSON接口

创建调用API的函数:

import requests import base64 def call_qwen_api(image_path, prompt): with open(image_path, "rb") as f: img_base64 = base64.b64encode(f.read()).decode("utf-8") payload = { "image": img_base64, "prompt": prompt, "max_length": 256, "temperature": 0.3 } response = requests.post( "https://gpu-hv221npax2-7860.web.gpu.csdn.net/api", json=payload ) return response.json()["result"]

3.3 设计结构化摘要模板

根据需求设计输出格式,例如:

def generate_summary(image_path, description): return { "image_file": image_path, "summary": description, "keywords": extract_keywords(description), "timestamp": datetime.now().isoformat() }

4. 完整批处理脚本

将以上功能整合成完整脚本:

import os from datetime import datetime import json def batch_process_pdf(pdf_path, output_json): # 步骤1:提取图片 image_folder = "temp_images" image_paths = extract_images_from_pdf(pdf_path, image_folder) results = [] # 步骤2:批量处理每张图片 for img_path in image_paths: # 基础描述 description = call_qwen_api( img_path, "请用中文详细描述这张图片的内容,包括主要元素、文字信息和整体风格" ) # 关键信息提取 keywords = call_qwen_api( img_path, "提取这张图片中最关键的3-5个中文关键词" ) # 结构化存储 results.append({ "image": os.path.basename(img_path), "description": description, "keywords": keywords.split("、"), "page_number": int(img_path.split("_")[0][4:]), "processing_time": datetime.now().isoformat() }) # 保存结果 with open(output_json, "w", encoding="utf-8") as f: json.dump(results, f, ensure_ascii=False, indent=2) return results

5. 实际应用案例

5.1 学术论文整理

对一篇30页的计算机视觉论文运行脚本:

batch_process_pdf("cv_paper.pdf", "paper_summary.json")

输出示例:

[ { "image": "page4_img0.png", "description": "这是一张算法流程图,展示了YOLOv7的网络结构...", "keywords": ["YOLOv7", "目标检测", "神经网络", "流程图"], "page_number": 4 }, { "image": "page12_img0.png", "description": "实验结果的对比表格,显示在COCO数据集上...", "keywords": ["实验结果", "COCO", "准确率", "对比"], "page_number": 12 } ]

5.2 产品文档处理

处理一份产品说明文档:

batch_process_pdf("user_manual.pdf", "manual_summary.json")

典型输出:

{ "image": "page3_img0.png", "description": "手机设置界面的截图,显示网络设置选项...", "keywords": ["设置界面", "WiFi", "移动网络", "蓝牙"], "page_number": 3 }

6. 性能优化建议

6.1 并行处理加速

使用多线程提高处理速度:

from concurrent.futures import ThreadPoolExecutor def parallel_process_images(image_paths): with ThreadPoolExecutor(max_workers=4) as executor: results = list(executor.map(process_single_image, image_paths)) return results

6.2 缓存机制

避免重复处理相同图片:

import hashlib def get_image_hash(image_path): with open(image_path, "rb") as f: return hashlib.md5(f.read()).hexdigest()

6.3 错误处理

增强脚本的健壮性:

def safe_call_api(image_path, prompt, retries=3): for attempt in range(retries): try: return call_qwen_api(image_path, prompt) except Exception as e: print(f"Attempt {attempt+1} failed: {str(e)}") time.sleep(2) return None

7. 总结与下一步

通过本教程,我们实现了:

  1. 自动从PDF提取截图
  2. 调用千问3.5-2B的API分析图片内容
  3. 生成结构化的图文摘要
  4. 支持批量处理提高效率

下一步改进方向

  • 添加更精细的内容分类
  • 支持多轮问答完善摘要细节
  • 开发可视化界面展示结果

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 1:56:38

Halcon实战:用intensity算子快速评估图像区域质量(附完整代码)

Halcon实战:用intensity算子构建工业质检的灰度均匀性评估体系 在工业视觉质检领域,产线上每秒都有数百个产品需要快速判断表面质量。当工程师用阈值分割出疑似缺陷区域后,最迫切的需求是量化这些区域的灰度异常程度——是轻微色差还是严重污…

作者头像 李华
网站建设 2026/5/26 17:05:40

2026届毕业生推荐的AI论文工具实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在当下的学术写作情形里,恰当挑选 AI 辅助工具能够明显提高效率。论文 AI 网站主…

作者头像 李华
网站建设 2026/5/26 15:06:39

3步解锁加密音乐:ncmdumpGUI技术解析与实战指南

3步解锁加密音乐:ncmdumpGUI技术解析与实战指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI ncmdumpGUI是一款专为网易云音乐用户设计的NCM文件…

作者头像 李华