PDF工具 PDF/A 合规检测与修复建议 AI 提示词 (Prompts)

适用场景

你需要把 PDF 文件长期归档(合同、发票、审计材料、投标文件、科研档案等),但又担心不同阅读器/系统下兼容性、字体嵌入、色彩配置、透明度与注释对象等细节导致“看得见但不合规”。PDF/A 是典型的归档标准:它强调可重现与可验证。这个在线工具的目标是:上传一个 PDF,一键做 PDF/A 合规检测,输出可读报告(包含规则、严重级别、对象定位、建议修复动作),并提供可选的“修复建议方案”(不强制自动改文件,但给出可执行步骤与命令)。

交付物清单(必须一次性产出)

请确保 AI 的输出可以直接落地运行/构建/部署,至少包含:

1) 完整项目源码(前端+后端或一体化),明确文件树;

2) 本地运行命令(开发/生产);

3) Docker 一键部署(含 verapdf 运行环境);

4) 测试用例(单元/集成至少一种)或 QA checklist;

5) 安全与资源限制说明(上传大小、超时、并发、临时文件清理);

6) 输出报告格式(JSON + 可视化 HTML 或 Markdown)。

Prompt(直接复制)

你是资深全栈工程师 + DevOps。请为我生成一个“PDF/A 合规检测与修复建议”在线工具的完整可运行项目。 【核心能力】 - 前端:网页上传 PDF(拖拽/点击),显示文件基本信息(页数/大小/元数据)与检测进度。 - 后端:接收 PDF,调用 veraPDF(容器内可用)进行 PDF/A 合规校验,解析输出为结构化 JSON(规则ID、级别、页码/对象定位、信息文本)。 - 报告: 1) 生成可下载的 JSON 报告; 2) 在页面渲染“问题清单 + 筛选(严重/警告/信息)+ 搜索”; 3) 每条问题给出“修复建议”(例如:字体未嵌入→用 Ghost /ocrmypdf/重新导出设置;色彩配置→嵌入 ICC;XMP 元数据缺失→补充;透明度/注释→扁平化等)。 - 约束:不得生成任何图片/海报/插画/渲染图相关功能;只处理用户上传的 PDF。 【技术栈要求(可选其一,但必须自洽)】 方案A(推荐,简单可跑):Next.js(前端) + Node.js(后端API) + Docker(包含 verapdf CLI)。 或 方案B:React/Vite + FastAPI(Python) + Docker(包含 verapdf CLI)。 【输出必须包含】 1) 项目文件树(tree 形式) 2) 每个关键文件的完整代码(不要省略为“略”),至少包括: - 前端页面(上传、进度、结果展示) - 后端上传接口与任务执行(同步可先实现,注意超时与大小限制) - veraPDF 调用封装(捕获 stderr/stdout,返回规范化结构) - 报告解析与建议生成模块(规则到建议的映射可用可扩展配置) - Dockerfile / docker-compose.yml 3) 运行命令: - 本地开发 - 构建与生产启动 - Docker 一键启动 4) 安全与性能: - 上传大小限制(例如 30MB) - 任务超时(例如 60s) - 临时文件目录与清理策略 - 并发限制(至少给出方案:队列/信号量/worker) 5) 测试用例或 QA checklist: - 至少覆盖:成功检测、非PDF拒绝、超大文件拒绝、超时处理、报告下载正确性 【功能细节】 - 上传后生成一个 jobId,前端轮询状态(如果你实现了异步);若你选择同步接口,也要在 UI 提示“处理中”。 - 结果页展示:总体结论(是否通过 PDF/A)、问题数量统计、问题列表。 - 建议生成:给出“通用修复路径”与“命令示例”(可选)以及“风险提醒”(例如自动修复可能改变文本可搜索性)。 请直接开始输出项目,不要输出解释性长文;先给文件树,再逐文件输出代码,最后输出运行命令与 QA 清单。

实现要点(便于落地与扩展)

1) veraPDF 的输出既可以是文本,也可以是 JSON/ (取决于 CLI 参数与版本)。建议封装一层解析器,把“规则ID/位置/级别/消息”统一到你的数据模型,前端渲染就会非常稳定。

2) 建议模块不要写死在前端:用一个可扩展的映射表(如 JSON 配置或 TS/py 字典),按规则ID/关键字匹配生成建议,后续可以持续补充规则覆盖率。

3) 资源与安全:上传 PDF 是典型的风控入口。必须限制文件大小、限制处理时长、限制并发,并确保临时文件在任务结束后清理;同时要校验 MIME/扩展名并做简单的“PDF 头部”检测(%PDF)。

4) 输出报告建议同时提供:结构化 JSON(给程序用)+ 可读 HTML/Markdown(给人看)。可读报告里要把“问题→影响→建议→参考命令/设置”讲清楚。

测试用例或 QA checklist(发布时也可用)

检查点建议:上传合法 PDF 能返回 jobId/结果;上传非 PDF 返回明确错误;超大文件被拒绝且提示清晰;处理超时会中止并返回可理解的状态;报告 JSON 可下载且字段齐全;前端筛选/搜索无报错;重复提交同一文件能得到一致结果;容器重启后服务可用;临时文件不会无限增长。

部署与运维建议

建议以 Docker 部署:把前端、后端与 veraPDF 运行环境打包到同一 compose;对外只暴露 Web 端口。生产环境配反向代理(Nginx/Caddy),开启 HTTPS;设置请求体大小限制;并添加基本日志(请求、耗时、错误码、jobId)。如果要做异步队列,可选 BullMQ/Redis 或者简单的内存队列(单机)。

用户评论 (0)

登录后参与讨论

立即登录 注册账号

暂无评论,快来抢沙发吧~

操作成功