PDF 保持原排版翻译 Skill (大模型直译 + 几何探针测量 + 矢量排版重构 + 生成后对比自愈)
当用户需要翻译 PDF 文档,且要求必须完整保留原始版面格式、公文表头、目录、双语表格、签章栏、插图物理尺寸并最终输出为高保真矢量 PDF 文件时,使用此 Skill。
[!IMPORTANT] 四大核心铁律(杜绝机翻乱码、长文档幻觉、跨页溢出与图片排版变形):
- 严禁脑补,严格忠实直译 (Strict Faithful Translation & Zero Hallucination):
- 不得压缩或遗漏条款:逐条忠实翻译每一个一级、二级、三级子条款(如法定资质证照清单 2.1.1~2.1.8、年限指标、年产能门槛 150,000 吨、分卷装订规则 Volume 2A/2B 等),坚决禁止主观总结或合并条款;
- 坚决禁止虚构常识:严禁凭常识脑补原文不存在的交付程序、装订份数、银行授信金额或办事流程(例如原文未写具体金额则绝对禁止编造 1,000,000 KWD,无 5.3 节则绝对不可添加 5.3 节);
- 表格格式 1:1 忠实还原:官方附表(如 Appendix-1 至 Appendix-6)的列名、行高、选项框、备注及签字盖章区必须严格对齐原件,严禁用自创的“申报核对清单 (Checklist)”或通用表格粗糙代替。
- 几何探针与视觉锚点测量铁律 (Geometry Probe & Visual Anchor Measurement):
- 绝对禁止经验主义猜度尺寸:严禁在未测量原件几何信息的情况下,随意给插图或表格加上
max-height: 220px等主观限制,导致原图严重缩水变形或比例失调;- 原图物理坐标与尺寸 1:1 提取:提取图片时必须调用
page.get_image_rects(xref)获取原图在页面上的实际width、height以及x0, y0,并在 HTML 中严格以真实物理尺寸呈现(如原件宽 218.9pt、高 322.4pt,HTML 中必须按照该物理尺寸渲染);- 几何线条与装饰框高保真复刻:通过
page.get_drawings()提取所有几何元素(如顶会论文标题框的 4pt 粗黑顶线与 1pt 细底线、长度 143.5pt 的左对齐短横脚注线),严禁用通用单薄的 100% 宽度边框粗暴替代;- 中文信息密度补偿与垂直基线对齐:中文字符信息密度通常比西文高 20%
35%,必须记录关键文字块的垂直基准起点1.45y0(如摘要标题、正文、章节起始与脚注线位置),通过微调行高(`line-height: 1.35)、段落间距(margin`)以及灵活运用网格与绝对定位,确保中文版面的视觉重心与垂直基线与原件严密锚定,杜绝页面下半部分突兀大面积留白;- 首页页眉页脚特殊规则:大部分顶会论文(NIPS/ICML/CVPR 等)或官方公文首页(Page 1)不编排页码,底部通常为会议发表信息或官方备案行,严禁在第一页机械添加页码。
- 两阶段解耦与分块生成 (Schema-First & Chunked Pipeline):
- 数据与排版分离:长文档翻译时,优先提取页面结构化数据(条款清单、参数字典、表格行列),再灌入标准化 HTML 模板,严禁一边长篇自由发挥一边写标签;
- 单批次生成严禁超过 10 页:超过 10 页的文档强制按 10 页为单位拆分为独立模块(如
part1_pages.py,part2_pages.py),避免模型在中后段注意力衰减导致失控。- 生成后对比质检与用户确认关卡 (Mandatory Audit & User Preview Before Commit):
- PDF 渲染生成后,绝不允许直接交付给用户,必须运行技能内置的
scripts/audit_pdf.py执行页码、矢量层、条款差集与敏感词全面扫描;- 渲染生成 1:1 并排对比图(PNG),必须在对话中直接展示关键页面对比效果供用户审阅确认,在获得用户明确许可前严禁擅自 Git Commit 或推送!
触发场景 (Trigger Scenarios)
- 用户提供或指定 PDF 文件,要求翻译为中文、英文或其他语言;
- 用户明确要求“保持原排版”、“格式不变”、“输出为 PDF”;
- 官方招标文件、商务合同、投标预审资格手册(如中东阿文/英文标书、水电部 MEWRE、管网工程);
- 包含中英阿多语言混排、双语对照表格、签字盖章区、点线对齐目录的复杂 PDF 文档;
- 行业技术规范、学术论文、企业白皮书。
Agent 执行标准工作流 (Standard Operating Procedure)
当收到翻译 PDF 任务时,Agent 需严格遵循以下 5 步标准化闭环作业流程:
第一步:文档几何探测与结构分块 (Inspection & Geometry Probing)
使用 Python (fitz / PyMuPDF) 全面探测文档物理尺寸、插图尺寸、装饰线与关键文本块基线坐标:
import fitz
doc = fitz.open("path/to/document.pdf")
print("Total pages:", len(doc))
for i, page in enumerate(doc):
print(f"\n=== PAGE {i+1} rect: {page.rect} ===")
# 1. 探测图片物理尺寸与位置
for img in page.get_images():
for r in page.get_image_rects(img[0]):
print(f" Image xref {img[0]}: w={r.width:.1f}, h={r.height:.1f}, (x0={r.x0:.1f}, y0={r.y0:.1f})")
# 2. 探测几何线条与装饰边框
for d in page.get_drawings():
r = d['rect']
if r.width > 30:
print(f" Line: w={r.width:.1f}, h={r.height:.1f}, (x0={r.x0:.1f}, y0={r.y0:.1f})")
# 3. 探测核心文本块垂直基准起点 y0
for b in page.get_text("blocks"):
if b[4].strip():
print(f" Block ({b[0]:.1f}, {b[1]:.1f}, {b[2]:.1f}, {b[3]:.1f}): {b[4].strip()[:40]}")
# 若总页数 > 10 页,强制制定分块规划(如 Part 1: P1~10, Part 2: P11~20 ...)
第二步:两阶段专业直译(严格无脑补)(Two-Stage Strict Translation)
- 阶段 1(提取与核定):先按页提取条款编号、所有数值区间与表格字段,建立精确的翻译数据契约;
- 阶段 2(模板化填装):
- 准确翻译专业术语与国际标准(如 Transformer 自注意力、编码器-解码器架构、BLEU 得分、残差连接;或标书中的 ISO 2531、BS EN 545、AWWA、科威特水电部 MEWRE 等);
- 数字、单位与公式 100% 核实(如 200.00 ppm, 4°C, 150 微米, 2200 kg/cm², $d_{\text{model}} = 512$ 等)。
第三步:高保真矢量页面重构与物理限高 (Layout Reconstruction with Physical Anchors)
利用标准 HTML5 + CSS @page 打印样式进行 1:1 页面映射重构:
- 物理尺寸动态适配与防溢出:
根据第一步探测得到的真实页面尺寸定义
@page(如 US Lettersize: 8.5in 11in;或 A4size: 210mm 297mm;):@page { size: 8.5in 11in; margin: 0; } .page { width: 8.5in; height: 11in; max-height: 11in; padding: 72pt 108pt 72pt 108pt; page-break-after: always; position: relative; box-sizing: border-box; display: flex; flex-direction: column; overflow: hidden; /* 严禁内部元素撑爆高度触发打印机额外分页 */ } .content-area { flex: 1; overflow: hidden; } - 插图 1:1 物理尺寸渲染:严格按照第一步测量的
w和h设定图片的width与height(如width: 218.9pt; height: 322.4pt;),绝对禁止用经验值限制! - 几何线条还原:依据探测出的线条坐标绘制精确线宽与长度(如标题框 4pt 顶线 + 1pt 底线、143.5pt 短横脚注线);
- 中文垂直基线对齐:通过段落间距和舒适行高(1.35~1.45)合理分布垂直空间,使各区块垂直起点与原件基线严格对齐;
- 字体标准:默认使用标准专业矢量字体(英文 Times New Roman,中文 SimSun / Songti SC),确保学术严肃性与无乱码渲染。
第四步:内置引擎渲染与 JS 溢出探针 (Vector Rendering with Overflow Probe)
调用技能内置渲染脚本直接生成纯矢量 PDF,内置 JavaScript 探针会自动检测是否有任何页面产生高度溢出:
python "e:\antigravity_workspace\univ\.agent\skills\pdf-translate\scripts\render_pdf.py" "path/to/full_doc.html" "path/to/output_full.pdf"
第五步:自动化对比审计与视觉并排质检 (Automated Audit & Visual Review)
生成 PDF 后,必须运行技能内置的 audit_pdf.py 自动化对比工具并生成对比图:
python "e:\antigravity_workspace\univ\.agent\skills\pdf-translate\scripts\audit_pdf.py" --src "path/to/source.pdf" --tgt "path/to/output_full.pdf"
该工具全自动执行 4 大流水线:
- 页码 1:1 校验:源文件与目标文件总页数必须完全一致;
- 纯矢量文字层与关键图片检验:保留的矢量图片数量完全对应;
- 条款与关键实体逐页双向 Diff:自动扫描每一页的条款编号、表名图名,捕获漏项;
- AI 幻觉与敷衍词雷达:自动拦截“技术规范编制综述”、“核对清单”、“暂缺”、“此处略”等常见大模型逃避或捏造词汇。
用户视觉确认门禁 (User Confirmation Gate):
- 渲染原件与译件 1:1 并排对比图(PNG),在会话中直接展示重点页面(如封面、架构图页、复杂表格页);
- 向用户汇报质检结果与对齐细节,必须等待用户明确确认满意后,方可执行 Git 提交或任务交付!
核心脚本工具箱 (Built-in Scripts)
- PDF 渲染引擎(含 JS 页面溢出自检):
.agent/skills/pdf-translate/scripts/render_pdf.py- 底层基于 Microsoft Edge / Chromium 矢量打印,毫秒级检测
.page物理高度,避免跨页溢出。
- 底层基于 Microsoft Edge / Chromium 矢量打印,毫秒级检测
- PDF 1:1 自动化对比审计引擎:
.agent/skills/pdf-translate/scripts/audit_pdf.py- 逐页 1:1 扫描源文件与目标文件,深度校验页码对齐、纯矢量层、条款 Diff、数值一致性与反脑补关键字拦截。