feat: metagpt-Python-PDF-Feedback-UI-20260326

This commit is contained in:
MetaGPT Agent
2026-03-26 18:04:54 +09:00
parent af145eec35
commit f90925795f
13 changed files with 837 additions and 0 deletions

View File

@@ -0,0 +1 @@
{"Required packages":["pypdf==3.17.4"],"Required Other language third-party packages":["无需其他语言的第三方依赖"],"Logic Analysis":[["main.py","包含 PDFOpener 类和 Main 相关函数。PDFOpener 类需实现以下方法__init__(file_path: str, start_page: int, end_page: int) 用于初始化文件路径和页码范围open() 使用 pypdf.PdfReader 打开PDF文件并返回 reader 对象需处理文件不存在、格式错误、权限不足等异常get_info(reader: PdfReader) 获取PDF基本信息总页数、元数据等并返回 dictdisplay_info(info: dict) 将PDF信息格式化输出到控制台extract_text(reader: PdfReader) 按页码范围逐页提取文本,返回 list[str]display_text(texts: list[str]) 将提取的文本内容输出到控制台run() 作为主流程入口,依次调用 open、get_info、display_info、extract_text、display_text。Main 部分包含 parse_args() 函数,使用 argparse 解析命令行参数file_path 必填start_page 和 end_page 可选),以及 main() 函数作为程序入口,创建 PDFOpener 实例并调用 run()。依赖导入pypdf、argparse标准库、sys标准库。"]],"Task list":["main.py"],"Full API spec":"","Shared Knowledge":"`main.py` 是唯一的程序文件包含所有逻辑。PDFOpener 类封装了PDF读取、信息提取和文本提取的全部功能。命令行参数规范file_path 为位置参数(必填),--start-page 和 --end-page 为可选参数默认值分别为第1页和最后一页。异常处理统一在 open() 方法中捕获 FileNotFoundError、pypdf.errors.PdfReadError 及 PermissionError并以友好的错误信息输出后退出程序。","Anything UNCLEAR":"当前需求已较为清晰。页码范围参数的默认行为需确认start_page 默认为0第一页end_page 默认为None表示读取到最后一页。程序仅支持文本内容提取和基本信息展示不支持加密PDF解密、表格提取、搜索或保存等高级功能若后续有此类需求可考虑升级为 pdfplumber 或 pymupdf 库。"}