PDF 文件处理
本 skill 只负责 PDF 的读取、页面操作、表单、文件结构和实际显示,不决定论文、报告、统计表或研究结论的专业内容。
1. 确认任务范围与唯一输入
- Q:读取用户指定的页、段落、表格、元数据或文件属性,只回答问题,不生成文件。
- L:只处理指定页、页段、表单字段或一种文件操作;保留未授权页面、书签、注释、表单、附件、元数据和安全设置。
- P:创建或重组完整 PDF,或者一次改动影响目录、书签、页码、表单结构、全文可搜索性、加密、签名或多个页面。
- R:用户明确正式提交、外发或归档时,在 P 基础上检查完整当前版、授权、隐私、可访问性及机构明确要求。
多个同名文件、多个合理当前版、页码口径不一致或密码权限不明时先确认。页面操作使用 PDF 实际页序号;正文印刷页码、罗马数字页码或附件编号另行记录,不能混用。
先只读检查完成本轮操作所需的命令和 Python 包是否已经存在。复用用户指定且兼容的环境;缺少前置工具时说明受影响的操作和用户可选择的准备方式,不得自行安装,也不静默换成会改变内容或质量的近似方案。
2. 按操作选择路径
| 操作 | 主要路径 | 最少检查 |
|---|---|---|
| 读取文字、表格或元数据 | 文本型 PDF 用 pypdf、pdfplumber 或 pdftotext;需要坐标或复杂表格时按 reference.md 选择 |
目标页正确;提取顺序、表头、脚注、单位和跨页关系没有被误读 |
| 扫描件 OCR | 只对用户指定页或确认为扫描件的页执行 OCR;沿用已有 OCR/渲染环境 | 原图页保留;抽查目标页的字符、数字、表格列和阅读顺序;不把低置信识别包装为原文 |
| 合并、拆分、重排、旋转或裁切 | 使用已有 pypdf 或 qpdf;复杂命令见 reference.md |
页数、来源文件、页序、方向、裁切范围和未处理页面正确 |
| 创建 PDF | 先由内容 skill 完成正文、表格和图件,再使用已有 ReportLab 或项目既有生成器;实现细节见 reference.md | 内容写入完整,字体和符号可显示,分页、表格、图片和链接在目标尺寸可读 |
| 填写表单 | 完整读取 forms.md,优先使用现有 AcroForm 字段;无字段时才按页面坐标填写 | 字段名与值对应,文字没有截断或遮挡,复选/单选状态正确,未授权字段为空且原表单结构保留 |
| 水印、加密或权限 | 使用已有 pypdf 或 qpdf,只按用户明确的文字、页面范围、密码与权限设置 |
水印位置和透明度不遮挡内容;密码、打开权限和允许操作符合要求 |
填写保密、伦理、签名或身份字段时,只使用用户提供或已确认的信息。不得代签、猜测日期、伦理号、作者、机构、研究结果或权限密码。数字表格需要进一步整理为 Excel 时,提取本身由本 skill 完成;只有用户要求实际 .xlsx 输出时再调用 xlsx。
3. 执行要求
- 保留原始 PDF,只写到用户指定或含义明确的新文件;L 不覆盖唯一原件。
- 尽量使用不会栅格化全部页面的操作。合并、拆分、旋转、裁切和填写现有字段时保留矢量文字、链接、书签、注释、表单和可搜索性中未被当前任务要求改变的部分。
- 只有页面本身是扫描图像或用户明确要求扁平化时才栅格化。OCR 输出保留原页图像并增加可搜索文字层,不用识别文字重排原版面。
- 加密 PDF 仅在用户拥有权限并提供所需密码时处理。发现数字签名时,任何改写都可能使签名失效;先说明影响并等待用户决定。
- 临时页图、OCR 中间文件、拆包内容和检查副本放在任务 workbench,不写入正式交付目录。
4. 最少检查与扩大条件
每项检查必须能指出本次操作可能造成的一种具体错误;不能说明时不执行。
- Q 只核对被引用的目标页和答案所依赖的文字、表格或属性。
- L 默认只检查四项:目标页或字段已按要求处理;未授权页和对象未改变;输出可以重新打开;目标页在实际显示中可读。页数或页序没变时不重查目录、书签和其它页面。
- 只有页数、页序、页面尺寸、裁切、全文文字层、书签、表单结构、加密、签名或共享资源发生变化时,才增加相应的全文结构或代表页面检查。
- 新建、完整重组或 R 正式发布时,检查完整页序、目录/书签、字体替换、链接、表单、可搜索性、元数据、隐私和最终页面显示中实际适用的项目。
- 输入文件、处理方法和被检查页面未改变时,沿用最近一次成功检查。修复真实问题后,只复查该问题和实际受其影响的页面、目录、书签或表单字段。
渲染只用于检查页面显示或为 OCR 提供输入。L 只渲染目标页及页序变化可能影响的相邻页;新建、完整重组或 R 才渲染整份或按同一版式抽取代表页面。文件能打开、文本能提取或退出码为零都不能单独证明页面显示正确。
5. 完成条件
- 唯一输入、目标页或字段、允许操作和输出文件已经明确。
- 输出页数、页序、方向、内容、表单状态或安全设置与请求一致,未授权部分没有意外变化。
- 内容 skill 要求的正文、数字、表格和图件已经正确进入 PDF;本 skill 不重复审查已由内容 skill 确认且本次未改变的科研含义。
- 实际受影响页面已显示检查;未执行的 OCR、全文结构、完整渲染或发布检查不包装成已通过。
- 原始文件可恢复,中间文件未混入正式交付目录,正式当前版文件名含义明确。
高级库接口、复杂页面操作、坐标提取、性能和故障处理见 reference.md;表单定位、填写和验证见 forms.md。只读取当前操作需要的部分。