目标是让 AI 一次性产出一个“PDF 字体嵌入与缺失字体诊断”在线工具的完整项目:包含前端页面、后端解析接口、可下载的诊断报告(JSON/HTML/PDF 三选二即可)、运行命令、部署说明(Docker/无服务器二选一也可),并附带可执行的测试用例或 QA checklist。
印前交付前检查:避免“字体未嵌入导致替换/乱码”。归档与合规:确认字体嵌入、子集化、Type0/TrueType/OTF 等信息完整。团队协作:把“字体问题”从口头描述变成结构化报告,便于设计/印刷/法务快速沟通。
上传 PDF(单个/多个可选);解析每一页引用到的字体:字体名、Post 名、是否嵌入、是否子集化、字体类型、编码信息;输出缺失字体列表与风险等级;给出修复建议(例如:重新导出时勾选嵌入字体、替换为可嵌入字体、用 Ghost 重新写入等);生成可分享的报告链接(短期存储即可)。
实现路径 1:Node.js + pdfjs-dist/puppeteer(解析+渲染兜底)。实现路径 2:Python + pikepdf/qpdf(解析更强)+ 前端轻量页面。为了易部署与前端体验,这条 Prompt 默认走“Next.js + API Routes + pdf.js”的方案,你也可以在 Prompt 中要求 AI 输出双实现(Node 与 Python)但不建议混写到同一项目里。
建议字段:document(页数、版本、是否加密)、fonts[](name、post Name、type、embedded、subset、firstPage、usedPages、risk、notes、fixSuggestions[])、summary(high/medium/low 数量、总体结论)、limits(解析降级说明)。这能让工具既可读也可机器处理,方便接入 CI 或批处理流程。
1) 上传一个含未嵌入字体的 PDF,能明确标红并给出建议。2) 上传正常嵌入字体的 PDF,风险分级正确。3) 导出 JSON/HTML 报告可下载且内容完整。4) 超大文件/超多页会被拦截并提示。5) 不保存用户文件,刷新后不会在服务端残留。
增加“批量模式”(多 PDF 一次性输出汇总报告);增加“字体授权提示”(仅提示需核对协议,不做法律结论);增加“PDF/A 相关检查”(保持与本工具主题一致:字体嵌入是核心)。