工具定位
这篇内容提供一组可直接投喂给 AI 的「生成型提示词(Prompts)」,目标是一次性产出一个可运行、可构建、可部署的在线工具:上传 PDF 后,批量清理/脱敏元数据与潜在隐私信息,并生成可审计的差异报告。
覆盖场景
适用于对外分享、投标交付、公开归档、媒体发布、法务留存等场景:在不改动页面可视内容的前提下,尽可能移除作者/软件/创建时间/编辑历史/地理位置/自定义 XMP 等元数据;同时提供可控的保留策略与可追溯的清理日志。
核心功能清单
需要生成的在线工具必须包含(可按项目实现差异,但功能不得缺失):
1)批量上传:拖拽上传多个 PDF;支持 ZIP 作为输入并自动解包。
2)清理策略:可勾选移除 DocumentInfo( /Author/Subject/Keywords/Creator/Producer/CreationDate/ModDate 等)、XMP 元数据、嵌入文件附件、 、表单字段(可选保留)、隐藏对象与注释(可选保留)。
3)脱敏能力:对可疑文本字段进行脱敏(例如邮箱、手机号、内网 IP、用户名),并在报告中记录命中项与处理方式。
4)质量保护:清理前后可视内容一致性检查(至少提供页数/尺寸/字体子集信息的对比;允许用抽样渲染或文本抽取做验证,但禁止生成渲染图导向内容)。
5)审计报告:输出 JSON + HTML 报告(或 Markdown)展示清理前后差异、命中规则、失败原因;并给出“风险提示”。
6)导出:下载清理后的 PDF(单个与打包);报告与产物按同名文件夹结构组织。
技术与交付硬要求
提示词必须要求 AI 输出:完整项目源码、清晰文件树、可复制的本地运行命令、构建命令、生产部署说明(含 Docker)、以及测试用例或 QA checklist。
禁止:任何生成图片/出图/配图/渲染图/海报/插画类提示词;不写 Midjourney/Stable Diffusion 等图像生成导向。允许:预览/检查/抽取/转换/报告输出。
Prompt:生成「在线 PDF 元数据清理与隐私脱敏工具」(Next.js 全栈)
你是资深全栈工程师与安全合规顾问。请生成一个可部署的在线工具项目:PDF 元数据清理与隐私脱敏。
交付物(必须全部给出):
- 完整项目源码(前端 + 后端),可直接运行
- 完整文件树(tree 形式)
- 本地运行命令(安装/启动)与构建命令
- Docker 部署(Dockerfile + docker-compose.yml)与生产注意事项
- 自动化测试或 QA checklist(至少覆盖关键路径与失败场景)
功能要求:
- Web UI:拖拽上传多个 PDF;显示队列、进度、失败重试;提供“清理策略”可勾选项
- 后端处理:对每个 PDF 进行元数据移除/重写;移除 XMP;移除嵌入附件;移除 ;可选处理表单字段与注释
- 脱敏:对文档信息字段与 XMP 中的字符串做规则匹配(邮箱/手机号/IP/用户名等),提供替换策略(清空/哈希/固定占位)
- 审计:为每个文件生成差异报告(清理前后的字段对比、命中规则、处理耗时、错误栈摘要)
- 导出:打包下载(产物 + 报告),并保证文件名稳定
- 质量保护:提供一致性校验(页数、尺寸、文本抽取摘要对比,或可选抽样校验),若失败则标记风险
技术选型(可调整但要合理并说明理由):
- Next.js + Type
- 后端可用 Next.js Route Handlers 或独立 API(Node)
- PDF 处理库:给出可行组合方案,并在代码里实现其中一种(例如 qpdf + pdfcpu + pikepdf 的对照说明;若用外部二进制,必须在 Docker 中固定版本)
安全与约束:
- 严格限制上传文件类型与大小
- 防止路径穿越;临时文件隔离;清理任务超时与并发控制
- 不要生成任何“图片渲染/海报/插画”相关功能
输出格式:
- 先给出项目概述
- 再给出文件树
- 然后按文件逐个贴出代码
- 最后给出运行/部署/测试与 QA checklist
Prompt:生成「在线 PDF 元数据审计 + 一键清理」服务(Python FastAPI)
你是 Python 后端工程师。请生成一个可部署的在线服务:上传 PDF -> 先审计 -> 输出风险报告 -> 可选择一键清理并下载产物。
交付物必须包含:完整源码、文件树、运行命令、Docker 部署、测试用例或 QA checklist。
要求:
- FastAPI 提供 API:/audit /clean /download
- audit:解析 DocumentInfo、XMP、附件、JS、表单字段,输出结构化 JSON 报告
- clean:按策略清理;生成“清理前后差异”与可读报告(HTML 或 Markdown)
- 前端:用最简单可运行的方式提供(例如静态 HTML + 少量 JS,或轻量模板),重点在可用性
- 依赖:优先纯 Python;如需外部工具,必须说明原因并在 Docker 中安装固定版本
- 提供样例数据与测试:至少包含 3 类 PDF(含 XMP、含附件、含 JS/表单),并验证清理后字段为空或被替换
禁止:任何图像生成、渲染海报、插画相关内容。
输出时按“概述 -> 文件树 -> 代码 -> 运行/部署 -> 测试/QA”的顺序。
Prompt:生成「离线批处理 + Web 可视化队列」工具(Node.js + Worker)
你是 Node.js 工程师。请生成一个项目:既支持 Web 上传队列,也支持命令行批处理。
交付物:完整源码、文件树、CLI 命令示例、Web 运行命令、Docker 部署、测试或 QA checklist。
功能:
- CLI:输入目录 -> 递归扫描 PDF -> 批量清理 -> 输出到 out/;生成汇总报告 summary.json
- Web:上传多个 PDF -> 后端入队 -> Worker 并发处理 -> 前端实时显示状态
- 清理策略:与“元数据清理与隐私脱敏”一致;必须可配置
- 报告:每个文件的 diff + 汇总;支持下载 ZIP
工程要求:
- 使用队列(BullMQ 或自研)并给出并发、重试、失败隔离策略
- 处理大文件时内存友好;临时文件可控
禁止:任何图片生成/渲染导向功能。
验收与 QA checklist(建议直接用于测试)
1)上传 10 个 PDF(含不同来源软件生成),全部处理成功且可下载。
2)清理前后:Author/Creator/Producer/CreationDate/ModDate 等字段按策略清空或替换;XMP 被移除或重写。
3)若检测到附件/JS:报告标记风险;清理后附件/JS 不再存在。
4)一致性校验通过:页数不变、尺寸不变;若失败必须在报告中提示原因并允许继续导出(标记风险)。
5)安全性:拒绝非 PDF;拒绝超大文件;路径穿越与任意文件读取不可发生。
6)可部署:Docker 一键启动;README 中给出环境变量与持久化建议。