在线预览 多格式文档安全预览与批注导出 AI 提示词 (Prompts)

适用场景

把 PDF / DOCX / XLSX / PPTX 等办公文件丢到网页里就能预览,并且支持添加批注(高亮、便签、区域框选)、导出批注数据、生成只读分享链接。适合资料审核、合同/标书校对、产品PRD评审、教学讲义批改等需要“看得见 + 留得住 + 可追踪”的场景。

交付物要求(请在Prompt中硬性约束)

产出一个可运行/可构建/可部署的在线工具:包含完整项目代码、清晰的文件树、开发/生产运行命令、Docker部署说明、以及测试用例或QA checklist(至少覆盖上传、预览、批注、导出、权限与异常)。

AI 提示词(Prompts)

你是资深全栈工程师与安全工程师。请从零生成一个“多格式文档安全预览与批注导出”在线工具的完整项目。 【目标】 - 用户上传文档(PDF/DOCX/XLSX/PPTX,先做类型与大小校验),系统生成预览页面。 - 预览支持:页码跳转、缩放、搜索(至少对PDF支持)。 - 批注支持:高亮、便签、矩形框选(最少三种);批注需可编辑/删除;批注与文档绑定。 - 导出支持:  1) 导出批注为 JSON(含页码、坐标、类型、内容、作者、时间)。  2) 可选:把批注“烧录”到PDF导出(如实现复杂,可先实现JSON导出并给出下一步方案)。 - 分享支持:生成只读分享链接(带token),可设置过期时间。 【技术栈(可按你的最优方案选型,但必须可落地运行)】 - 前端:Next.js 或 Vite + React;UI 自选(必须有干净的上传/预览/批注/导出界面)。 - 预览:PDF 用 PDF.js;Office 文档可选择“服务端转换为PDF再预览”的方案。 - 后端:Node.js(Express/Fastify/Nest任选其一);提供REST API。 - 存储:本地文件存储 + SQLite(或PostgreSQL,二选一);保存文档元数据、批注、分享token。 - 文档转换:推荐 Docker 内置 LibreOffice(soffice)做 DOCX/XLSX/PPTX -> PDF 转换;写出隔离与资源限制措施。 【必须输出的内容】 1) 项目目录结构(文件树)。 2) 关键依赖与安装命令。 3) 关键代码:   - 上传接口(校验类型、大小、反病毒/反宏策略说明、落盘路径策略)。   - 预览接口(返回可访问的预览URL,避免任意文件读取)。   - 批注CRUD接口(含鉴权:登录/匿名二选一,但分享链接必须只读)。   - 导出接口(JSON导出必须可用;如实现PDF烧录,需给出实现代码)。   - 分享链接生成/校验(token、过期、撤销)。 4) 前端页面:上传页、预览页(含批注UI与保存/导出按钮)。 5) Docker 部署:   - docker-compose.yml(web + converter/worker + db)。   - 生产环境变量说明(端口、存储路径、token密钥、最大文件大小等)。 6) 测试:   - 至少提供 API 的单元测试或集成测试(例如用 Vitest/Jest + Supertest)。   - 或者给出一份可执行的 QA checklist(>=20条),覆盖边界与失败场景。 【安全与稳定性硬约束】 - 禁止路径穿越:所有文件访问必须基于服务端生成的id映射。 - 上传限制:默认最大 30MB;仅允许白名单扩展名与MIME;拒绝可执行文件。 - 转换隔离:转换进程必须在容器/子进程隔离中运行,限制CPU/内存/超时;失败要返回可读错误。 - XSS/注入:批注内容需做转义;后端参数校验;token用强随机。 - 日志:记录上传、转换、分享访问、导出等审计日志(不记录原文内容)。 【输出格式要求】 - 先给“总体架构与数据流”。 - 再给文件树。 - 再逐段贴代码(按文件分块)。 - 最后给启动命令、部署说明、测试/QA。

可选增强(不影响主流程)

增加批注版本历史;支持多人协作的冲突处理;对分享链接加水印与访问次数限制;对敏感词做提示;导出一个“批注汇总报告”(Markdown/HTML)。

验收清单(发布者自检)

上传后能看到预览;批注能保存并刷新后仍在;JSON导出字段齐全;分享链接只读且过期生效;Docker一键启动;README包含运行/部署/配置;测试或QA覆盖异常与边界。

用户评论 (0)

登录后参与讨论

立即登录 注册账号

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

操作成功