能力缺口与推进表
更新日期:2026-11-05。依据当前源码和独立验收记录。目标是易用、可控的 Java 文档生产引擎;不以功能名称数量计算完成率。
状态含义:待实现尚无完整实现;推进中已有实现但未完成验收;部分支持只有明确子集;已验收所列目标及边界均有证据;范围外记录未提供的能力,不进入当前执行队列。每项独立关闭,不能以 Builder 或同名方法代替行为验收。父项汇总既定目标,扩展子项单独保留;父项与子项不相加统计完成数。历史阶段记录反映当时范围,当前状态以本表及对应 API 为准。
能力补齐顺序见剩余计划。更广文件兼容、编辑、恢复、标准及格式扩展按后文的独立缺口跟踪;已有子集验收不关闭这些扩展。OCR 不在当前范围内,见 GAP-23。
当前未完成项共 3 个独立条目:GAP-14.2、GAP-14.3、GAP-22,归属 2 个父项。GAP-12 已完成;提交 cc132e7 的三平台构建及临时密钥签名分发远端 CI 已通过,运行记录见阶段一百零五。
0.1.0-rc.1 已于 2026-11-05 发布到 Maven Central,正式签名、82 个制品的远端字节/签名/校验及 16 个库与 BOM 的隔离消费已验证,见发布记录与流程。GAP-14.3 继续保留稳定 API、稳定版验收和后续版本的兼容要求;新增手动发布工作流尚无 GitHub 实际运行证据。下文历史阶段的未发布说明仅对应当时批次。
学术模板新增的数学子集另行登记:DOCX 使用有类型 OMML,PDF/SVG 示例使用受限 TeX 矢量排版,具体证据见ManuWeave 验收。这不扩大 GAP-12 已验收范围为任意 Word 数学扩展,也不代表通用文档模型已有跨格式公式节点、TeX↔OMML 转换器或完整 LaTeX 执行器。
可编辑正文分栏另行提供 ColumnFlow/XML/设计器入口,支持 1~3 栏连续内容、中间通栏图表及恢复分栏。语义栅格进一步提供 1~12 轨、跨部分轨道的区域、项边界编辑和整行原子分页。两者可同级组合;DOCX/Web 原生映射、跨行项、自动放置和互相嵌套仍未提供。显式转换只保留顺序内容并记录布局损失;证据分别见分栏和栅格验收,不扩大既有组件分栏与 CSS Grid 范围。
阶段一百零六补齐固定互转/拒绝语料、DOCX 完整 ZIP 校验、依赖公告门禁及 0.1.0-rc.1 候选 API 基线。本批 1,787 项 Java 测试、16 条路径/32 份输出/73 次控制检查和本地签名制品验证通过;新增 CI 步骤尚无远端运行证据,正式发布仍未执行。
阶段一百零七完成本轮 Windows 可执行的 Word/PDF 阅读器打开、搜索、编辑、保存、重开及最终 JAR 回读,修复 DOCX 兼容模式声明与 PDF 阅读器应用元数据接收。最新构建 1,792 项测试通过,固定语料及无打印依赖检查通过;跨平台、浏览器前台交互及本批新 CI 仍未执行,本轮修改后的字节未重新签名。
阶段九十九完整验收 GAP-03/08/09/21 的原剩余清单及既有扩展子项;四个父项均关闭,没有增加缺口编号。各 API 仍明确输入子集、资源预算和工具兼容边界;DOCX、文档 CSS 和设计器的后续验收见各自原有条目,跨平台/阅读器及正式分发仍未关闭。历史阶段九十八及更早记录不代表当前待完成状态。
阶段一百零八完成 GAP-13 的独立 HTML 设计器及四套完整业务样例,该阶段构建 1,804 项 Java 测试、API 兼容、隔离 Maven 调用方及无打印依赖检查通过。阶段一百零九补齐页面/页区、表格、富文本、类型化属性及格式化/高亮控件;阶段一百一十验收连续分页画布、直接正文编辑、常驻资源、快捷键/右键与列表排序。设计器浏览器实测与输出证据单列,不扩大 GAP-14.2 的平台矩阵。
开发源码另补齐普通文档逐页导出,在完整输入模型上释放完成页的 IR/Display List,并复用有界绘制资源;磁盘 PDF 后端直接复制完成的活页对象。本轮验收分别记录最终分页语义、重放一致性、失败原子性和有限容量。它不改变单次行源契约,也不表示任意完整模型、最大块或脚注计划恒定内存;不计入已发布的 0.1.0-rc.1。
普通内容块还可通过 BlockSource 按需提供:exportSemantic(PageSettings, Factory) 在准确声明总页数后单遍输出,exportReplay 显式重开稳定快照两遍,减少完整输入驻留。此路径支持页字段和固定页区,目录、未来引用、跨节和脚注重排仍使用完整模型入口;最大块、keep 链、唯一 ID 和页摘要仍受有限预算约束,见 ADR-0112。
推进顺序
| 编号 | 优先级 | 缺口及当前边界 | 本项目目标与验收条件 | 状态 |
|---|---|---|---|---|
| GAP-01 | P0 | 原嵌套 .text() 默认整块,需另选 FlowText | 普通文字按完整行自然续页;显式固定文字;短首区、嵌套、取消和缺字诊断保持 | 已验收:阶段十五 |
| GAP-02 | P0 | 原合并格不能容纳跨页长文字 | 显式拆分合并行组;逐页表头、边框和内边距;文字及图片唯一;超高原子内容失败;独立 PDF/SVG 几何及调用方验证 | 已验收:阶段十五;富文本字段另见 GAP-06 |
| GAP-03 | P0 | .table() 在顶层和列内代表不同模型 | 明确 .grid() 与语义表格路径,保留兼容入口;共享语义表格区域流,字段、来源和 DOCX 行为保持 | 已验收:阶段九十九补齐变宽递归块格、组件网格和任意轮廓/跨页浮动锚点;保留完整来源、字段、图文链接与预算,既定剩余目标及 GAP-03.1 已完成。独立重复完整源继续按身份契约拒绝 |
| GAP-04 | P1 | 默认样式、字体角色与主题的嵌套传递 | 可复用默认样式贯穿嵌套;显式覆盖优先;真实字体变体、固定行框和诊断保持 | 已验收:六项逐属性覆盖/恢复、Java/XML 命名完整样式、组件与固定页区角色、列表标记及全局/分域颜色和字体级联均已完成;见样式继承、主题外观和图层主题。完整命名样式保持快照,不把未约定的动态主题系统列为本项剩余目标 |
| GAP-05 | P1 | 原 ADR 静态勾选依赖示例私有绘制 | 通用静态勾选/选项组/标签值/填写线,矢量标记不依赖字体缺字;密集表单替换样例辅助代码 | 已验收:阶段十六;静态组件不含 DOCX/PDF/UA 语义 |
| GAP-06 | P1 | 组件合并格原缺富文本、字段和单元格来源 | 长合并格支持行内样式、图片、最终字段;重复表头按实际页解析;行列及 UTF-16 来源可追踪 | 已验收:阶段二十;标准 SemanticTable/FlowColumn 格内续排、两层表头逐页字段、内 Table 行列/UTF-16 来源;任意嵌套网格拆分仍不支持;当批未包含的合并语义 Table 已由阶段二十五/二十六另行补齐 |
| GAP-07 | P1 | 安全声明式模板与源码编辑 | XML/严格 Markdown 的变量、条件、循环、资源策略、预算及损失诊断;HTML/CSS 输入独立定义子集 | 已验收声明式子集:XML 模板、递归 include/动态目的地、普通 ZIP 源码与资源保存及声明式恢复均已有证据;完整浏览器 CSS 只归 GAP-18.1,可视化设计器只归 GAP-13,不在本项重复计为缺失 |
| GAP-08 | P1 | 复杂文字、搜索与选择兼容有限 | 扩充脚本、组合簇、断行和阅读器语料;记录字体、搜索/选择与视觉结果;不声称完整 OpenType | 已验收:阶段九十九补齐可选原生塑形、更多脚本/文字方向、分页竖排/纵中横、可变 glyf/CFF2/彩色字体及静态 CFF 原生 PDF;逐工具核对来源、轮廓、提取/查询/选中和双渲染。GAP-08.1 的原剩余清单完成;跨平台/阅读器矩阵仍归 GAP-14.2 |
| GAP-09 | P1 | 完整文档仍保留全量模型/布局;单向长表覆盖固定列普通/富文本、图像外链及横向合并,PDFBox 页树仍累积 | 有界数据源、取消和临时资源生命周期;分别测量布局与实际 PDF 的内存、吞吐和上限;持续容量独立验收 | 已验收:阶段九十九完成单次语义源递归格/纵向 owner 拆分、显式重放的采样 Auto/未知总数/未来引用/目录书签/组脚注,以及可选磁盘索引 PDF。64 MiB 堆的布局/真实 PDF/完整重放各 1k/10k/100k 行、12 轮成功/失败/取消恢复和双 JVM 并发已验收,退出自有临时项为 0;有限容量不证明任意输入恒定进程内存或无限期无泄漏 |
| GAP-10 | P2 | PDF 读取、编辑、组合及提取的明确子集 | 独立适配器;第三方类型隔离;显式密码、交互与签名处理边界;受损输入预算及独立验证;按下文 GAP-10.1~10.12 分别验收编辑、渲染、优化、脱敏、表单和数据处理 | 已验收本表全部子项:阶段九十三与九十七完成 GAP-10.1~10.12;原位文字/图片、两种真实脱敏、扩展字段/批注、FDF/XFDF 和声明的静态/动态 XFA 分别有独立证据。各入口仍按明确字体、结构和损失边界执行,未知活动内容及无支持路径的签名修改拒绝,OCR 排除 |
| GAP-11 | P2 | PDF/UA、PAdES/LTV、PDF/A 范围有限 | 按标准逐项实现并用独立验证器验收;不能由标签或一次输出推断合规 | 已验收本表全部子项:阶段九十六完成离线 PAdES B/T/LT/LTA、信任/撤销/时间戳/DSS 续期/DocMDP、PDF/A-1b/2b/3b/4f 生成与转换,以及 PDF/UA-1 的明确语义及已有标签处理;独立合规、验签、双渲染与生成/已有标签实际辅助阅读器分别有证据。选定版本及输入子集外不由这些结果推断支持 |
| GAP-12 | P2 | DOCX 合并表格、复杂页区及布局互转有限 | 标准 OOXML 合并与受支持样式;Word 更新/保存回读;严格损失边界;不承诺 PDF 同分页 | 已验收本表两项明确子集:阶段一百零三完成有类型浮动图片/文本框、图片变换、深表、评论/六类修订/现代控件及旧式表单/目录;标准结构、跨格式实际损失、Word 实际编辑/字段更新/保存/重开/发布 JAR 回读、4 页原生页面及 PDF 的独立渲染和逐页复查均通过,GAP-12.1/12.2 已闭合。生成及转换不依赖 Word、打印机驱动或打印服务 |
| GAP-13 | P2 | 可视化模板设计器与完整业务样例 | 独立可选应用,编辑/预览/保存重开/导出;报告、密集表单、长表和引用样例,记录成本及失败边界 | 已验收:HTML 设计器提供源码/属性/结构编辑、显式资源、独立数据和六格式损失预检;阶段一百零八完成四套可重开样例、24 份导出、11 页 PDF 双渲染及 SVG/PNG 独立像素、11 项失败控制和真实浏览器保存重开/导出。当前支持容器内部编辑、真实格外框列宽拖动及精确 pt、当前格行列/合并操作、合并跨度维护、内部块显式复制删除和光标处通栏;本地源码/数据历史最多 100 步,服务端项目/资源快照最多 8 步,数值保真、HTML 表格的分隔文本粘贴和四态预览见后续编辑流程验收。几何不明确不提供列宽拖柄,粘贴不提供二维填格,动态作用域和最后内容块仍受保护。核心不依赖应用,不加入库发布;不承诺任意外部文件图形编辑或完整平台兼容 |
| GAP-14 | P1 | 发布前 API、许可和兼容检查需要持续固化 | 公共 API 隔离、隔离坐标调用方、SBOM、依赖与资源声明;正式发布前核对命名空间权限 | 部分支持:阶段一百零六固定候选 API、安全门禁及兼容语料;阶段一百零七补齐 Windows Word/PDF 保存回读及兼容修复。0.1.0-rc.1 已通过正式签名发布到 Central,并完成 82 个制品远端核对与 16 个库及 BOM 的隔离消费,见发布记录。稳定 API/稳定版、更广平台/阅读器及新增发布工作流的远端运行证据继续保留;历史 CI 仅对应其记录提交 |
| GAP-15 | P1 | 原缺统一的程序化编辑入口 | 按块/单元格定位、插入/删除/移动、图片替换和批量样式修改;保留输入快照,校验全树 ID、字段、列表和引用;操作适用 GAP-19 策略并报告实际变化 | 已验收:阶段四十四;不可变候选、物理锚点、图文/样式、页区共享及完整性校验。只编辑已有模型,未建模源结构不在本项 |
| GAP-16 | P1 | 原缺跨富文本运行的安全查找替换 | 明确匹配与样式继承规则,保留 Unicode/UTF-16、链接、图片和字段边界;跨对象或不适用目标按策略处理,验证未匹配内容及引用不变 | 已验收:阶段四十四;字面匹配、同/异样式规则、对象与字素边界、范围回滚及预检/实际报告;PDF 内容流仍归 GAP-10.5 |
| GAP-17 | P1 | Markdown 输入仅为严格轻量模板,通用导入缺失 | 单独定义 CommonMark 与 GFM 导入子集,逐项覆盖表格、链接、代码、引用、有序/嵌套列表、删除线及硬换行;资源显式解析,保留旧模板语法和变量行为;损失按 GAP-19 报告 | 已验收:阶段四十五;通用 CommonMark/GFM 子集、显式图片、列表/表格、源位置及损失报告;严格模板保持独立,不承诺任意 Markdown 无损往返 |
| GAP-18 | P1 | HTML/CSS 只有语义导出,缺导入 | 离线元素/属性/CSS 子集映射到语义模型,明确级联和资源入口;不执行脚本或隐式外联;未知样式、浮动和布局损失可定位,并受预算、取消及 GAP-19 策略控制 | 已验收:阶段四十六;离线元素/属性与有限 CSS 级联、显式资源、双跨度/两层块格和实际损失;完整浏览器布局与任意网页往返不在本项 |
| GAP-19 | P1 | 导入、编辑和转换缺统一动作策略、损失预检及结果报告 | 全局及逐格式/功能/编辑操作控制 ERROR/WARN/IGNORE;诊断动作与跳过/降级/丢弃分开声明;编辑前可预检损失,执行后返回实际损失与位置;统一支持检查和转换编排,不放宽非法输入或执行失败 | 已验收:阶段四十七统一导入→编辑→导出、确切输出预检和三阶段实际损失;覆盖优先级明确,IGNORE 保留损失,未编辑内容也检查;旧入口契约保持,只有真实通道才能保留 |
| GAP-20 | P3 | PDF 可编辑语义恢复及明确推断边界 | 在明确静态子集内恢复阅读顺序、段落、标题、表格和图像位置,再转换为 DOCX/HTML/Markdown;分别验证内容、结构和视觉差异,报告无法恢复项 | 已验收明确自动子集:阶段九十五完成 GAP-20.1/20.2;显式 AUTO 贯通多栏、段落、标题/列表、重复页区、有线/无线表格、合并/嵌套和跨页续表。显式网格优先,来源与不确定性损失保留;重新布局不等于恢复作者原版,OCR 排除 |
| GAP-21 | P2 | 高级色彩、矢量合成和 SVG 兼容有限 | 在绘制契约中表达色彩空间、透明度及合成,扩大静态 SVG 子集;各后端逐项保留或明确报损 | 已验收:高级图形完成 CMYK/ICC/专色、透明度、16 种混合/隔离组、渐变/图案和扩展 SVG 本地资源;PDF 原生保留,RGB 目标按明确动作报告实际损失。阶段九十九完成独立资源、像素、双渲染及归档验收,GAP-21.1/21.2 原剩余清单完成 |
| GAP-22 | P3 | 其他文档及页面格式缺少转换入口 | XLSX、PPTX、EPUB、XPS、PS/PCL 等按格式及输入/输出方向分别定义语义映射、资源、损失和验收;不由扩展名推断兼容 | 待实现:候选范围见后文;已有 PDF/DOCX/HTML/Markdown 转换及 SVG/PNG 静态输出不因此扩大 |
| GAP-23 | — | 扫描件文字识别与可搜索文字层缺失 | 当前只登记边界;若后续纳入范围,须独立设计可选识别模块及模型/语言资源、文字与像素坐标对应、置信度、预算、取消和许可验收 | 范围外(未实现):PDF 渲染、图片提取和语义恢复均不执行 OCR,不把扫描图片当作已恢复正文 |
| GAP-24 | P1 | 自生成文档的恢复与往返编辑 | 已支持模型/显式资源的可编辑恢复、可选标准容器、原文档保留路径和多轮损失对账 | 已验收(已支持声明模型与目标子集):模型/资源保存、七格式可选恢复、原包/原页面保留路径、三轮及跨格式矩阵和真实 Word 保存回读;见四项明细及阶段九十。任意外部文件识别、运行时代码和更多原对象编辑仍归各自独立缺口 |
编辑、导入与转换的分项边界
GAP-15~20 为新增跟踪项;GAP-17/18 细化 GAP-07 的输入方向,分别跟踪和验收。GAP-10/12/14 的既有工作按下表细分,避免因一个子项完成而关闭整个能力。优先级表示推进顺序,表内目标均须有实现及独立验收后才可更新为已验收。
现状依据:支持矩阵、DOCX 页区、通用 Markdown 导入、HTML/CSS 导入、PDF 各处理入口和PDF 签名与归档。DOCX/Web 的语义子集可编辑后重导出;已有 PDF 的渲染使用独立 render 入口,SVG/PNG 后端继续消费本项目布局结果。PDF 语义恢复使用另一条显式损失通道。
| 分项 | 优先级 | 当前缺口 | 独立验收目标 | 状态 |
|---|---|---|---|---|
| GAP-10.1 | P2 | 静态 PDF 页级编辑 | 明确页面框、旋转、UserUnit、坐标与图层顺序;原内容不重排,输出独立结构及渲染检查;选页/重排/删页可由已有页面选择组合完成,不重复计为缺口 | 已验收静态子集:阶段四十九含旋转/裁剪/等比缩放、显式图文前后叠加、3 页独立双渲染和新调用方;裁剪隐藏未删除,交互输入另行验收 |
| GAP-10.2 | P2 | 已有 PDF 的被动交互对象与跨来源关系处理 | 逐项支持读取/修改及合并重映射,表单另验填写/扁平化与外观;未知结构按明确策略处理,不因支持一种对象就宣称任意 PDF 可编辑 | 明确子集已验收:阶段五十的四类字段/被动对象及阶段五十一的选页/跨来源合并、命名空间及关系重映射;活动/未知结构和重复页仍拒绝 |
| GAP-10.3 | P2 | 已有 PDF 整页转 PNG/JPEG 及嵌入图片提取 | 显式页选择/DPI/背景与色彩范围,限制解码像素及输出;独立核对页面可见内容和提取资源,不把项目 PNG 后端当作 PDF 渲染器 | 明确子集已验收:阶段五十二;CropBox/旋转/UserUnit、RGB/alpha、当前字段外观、嵌入 TrueType、确切 ZIP 与去重资源像素;未知字体/图案可明确跳页,OCR 不在范围 |
| GAP-10.4 | P2 | PDF 压缩优化、资源去重和图片重采样 | 分别定义无损/有损目标,报告资源变化及质量损失;检查输出大小、可见差异、结构、预算和失败原子性 | 已验收明确子集:阶段五十三;流压缩、相同简单图片/程序流去重、显式 RGB/Gray 降采样/JPEG;复杂蒙版等保留并报损,不保证输出更小 |
| GAP-10.5 | P3 | PDF 内容流文字替换与区域脱敏 | 限定可处理字体编码和内容结构;替换验证定位与版面差异,脱敏验证目标文字/图片及受支持可达副本的实际清除;覆盖矩形不能作为删除证据 | 已验收明确子集:阶段五十四与九十七验证文字范围替换和未命中位置;光栅与选择性脱敏分别验证实际像素/几何清除。光栅入口损失搜索和矢量;选择性入口在不透明静态子集中保留其他可搜索文字和矢量,不支持结构整体失败 |
| GAP-11.1 | P2 | 认证签名、现有签名验证、可信时间戳和长期验证资料不完整 | 逐项实现证书链信任、OCSP/CRL、可信时间戳及 DSS 验证资料;分别验收 PAdES B/T/LT/LTA、DocMDP 修改符合性、证据过期/缺失和后续资料更新。编辑先识别签名影响,无支持路径时失败 | 已验收:阶段九十六完成显式离线信任链、OCSP/直接完整 CRL、RFC3161、DSS/VRI 追加及续期;PAdES B/T/LT/LTA、P1/P2/P3 修改符合性与证据缺失/未知/撤销/过期/篡改独立验证。9 份签名文件通过 pyHanko,不使用系统信任库或联网取证,不承诺阅读器会阻止所有改写工具 |
| GAP-12.1 | P2 | 首页/奇偶页区、浮动图片/文本框、图片变换及更深内表 | 逐结构保留语义、关系和声明意图;源页区缺少固定高度时仍显式配置;Word 的读取/字段更新/保存回读/视觉结果分别登记 | 已验收明确子集:阶段一百零三完成两节三类页区、标准浮动图片/真实文本框、裁剪/翻转/旋转、四层组合表与既有 16 层边界。四个重建包及 Word 保存包独立 OOXML 校验零错误;Word 实际编辑/字段更新/保存/重开/发布 JAR 回读、4 页原生渲染与导出 PDF、4 页投影 PDF 均通过,两个 PDF 共 8 页双引擎渲染并逐页复查。Word 验收导出调用已修复,不宣称任意 Word 同分页或无损兼容 |
| GAP-12.2 | P2 | DOCX 目录、评论、修订和表单的语义映射 | 分别确定模型与损失规则;改动普通正文时也检查未编辑部分是否被丢弃;不把输出可打开视为完整保留 | 已验收明确子集:阶段一百零三完成目录声明及显式缓存更新、评论正文/范围、六类插删/移动/格式修订、11 个物理现代控件和三类旧式表单;实际编辑、接纳/拒绝、锚点重定位及三动作损失有证据。最终坐标制品经 Word 编辑、更新 11 个计算字段、保留三个输入字段、保存重开后,独立当前/默认值和全部专有对象由实际解析 JAR 回读通过;不强制打开时全局重算,也不推断未建模 Word 功能无损支持 |
| GAP-14.1 | P1 | 编辑与转换的跨格式语料和损失对账 | 覆盖导入→编辑→导出链路、嵌套格/页区/跨运行替换、ID/引用及未编辑内容;预检与实际报告逐项核对,独立验证输出、取消/失败及旧目标保护;同时保持 API 文档事实一致 | 已验收本次明确子集:阶段四十四至五十六包含语义/源包编辑、四种输入、实际输出编码、PDF 对象/文字/像素处理、独立双渲染和隔离调用方;未来扩大格式范围仍须添加对应语料 |
后续扩展的独立缺口
以下条目分别记录扩展目标及其实际验收状态,不重计选页、合并、基础表单、文字替换及四格式转换等已验收子集。优先级针对下一交付单元;父项的历史子集已验收不代表这些扩展已实现。每项先定义接受的输入及组合,再补源码、行为和独立文件证据;不能靠放宽预检或忽略损失获得兼容。
PDF 兼容、原位编辑与自动恢复
| 分项 | 优先级 | 当前缺口 | 独立验收目标 | 状态 |
|---|---|---|---|---|
| GAP-10.6 | P1 | 外部 PDF 的字体、内容流及资源组合兼容 | 按读取/编辑/渲染/恢复入口分别扩大字体、Form XObject、ExtGState、图层和标签结构支持;显式声明仅保留、可编辑或可恢复,核对资源引用与视觉结果。未嵌入字体须有明确字体来源及映射,禁止隐式系统回退;脚本与未知活动动作继续拒绝 | 已验收:阶段九十三完成既有剩余清单:CID/字典编码映射、传统 Type1/静态 Type3、Form 调用隔离文字编辑、裁切/透明与更多 ExtGState、被动图层/标签读取及原文档保留。各入口的保留/编辑/渲染/语义降级按兼容矩阵分别验收;复杂有效页面可显式整页降为流图片,损失仍报告。不承诺任意 PDF 无损恢复或图层/标签跨文档重映射 |
| GAP-10.7 | P1 | 跨字体/定位/样式边界的 show 匹配、复杂文字状态仍受限 | 从同一行跨 Tj/TJ 的匹配开始,保留原编码来源、样式、字形簇和未命中文字位置;明确容量不足、塑形及定位歧义的处理,独立验证实际命中数、文字唯一性和旧目标保护 | 已验收:阶段九十七完成同一行跨受支持字体、字号、颜色、文字状态及 Td/TD/Tm 的显示范围匹配;首字样式/基线与内部间距变化分别报损,未命中字形位置保持。异行、重叠、塑形、编码边界及容量歧义不强行替换;标记内部和结构拥有的 Form 仍明确跳过或拒绝 |
| GAP-10.8 | P2 | 已有 PDF 缺少面向图片绘制实例的替换入口 | 区分共享图像资源和单次绘制,替换指定实例时保持其他实例;明确变换、尺寸、蒙版/alpha 与色彩规则,独立核对像素、引用和未编辑页面 | 已验收:图片实例入口按实际 Do 深度优先次序命中,隔离共享 Form 调用,保持原 cm/Matrix/BBox/clip、未编辑实例及页面;新 alpha 与源蒙版替换分别验证。默认关闭图层替换后仍隐藏;结构拥有的实例明确跳过,见阶段九十七 |
| GAP-10.9 | P2 | 区域脱敏不能保留选区外的可搜索文字与矢量 | 在明确内容流子集中实际清除指定文字、图片及路径;覆盖受支持嵌套资源、隐藏替代文本、副本和历史,独立验证敏感内容不可提取及未选内容保留。不支持的结构不得产生部分脱敏成功结果 | 已验收:选择性脱敏重新子集化保留字体、清洗每次图像调用、对路径实际减选区,不复制源流/替代文本/附件/历史;18 份输出与 22 次拒绝、旋转/裁切及撤覆盖后检查通过。不透明静态子集外整体失败,不保证自动发现敏感出现或清除字体内任意私有载荷 |
| GAP-20.1 | P1 | 表格恢复依赖调用方显式网格 | 分别验收有线/无线表格的行列检测、合并格及嵌套结构;保留来源位置,提供不确定性诊断和显式网格覆盖。覆盖误识别、缺线、相邻正文及跨页情形;不能恢复的结构按策略报损 | 已验收:阶段九十五覆盖有线/无线检测、缺线、横纵合并、内表、相邻正文及跨页续表;显式网格覆盖自动结果,cellPath 保留物理格来源,歧义不强行推断并报告 UNCERTAIN。13 源、104 转换、来源覆盖及负控制通过 |
| GAP-20.2 | P1 | 自动阅读顺序与段落结构恢复有限 | 独立处理多栏顺序、段落合并、标题/列表及页眉页脚区分,验证正文唯一有序、来源对应和实际推断损失;轮廓字/不可信 ActualText 明确报告,不当作已恢复文字 | 已验收:阶段九十五覆盖两/三栏与标题带、段落连接、标题/列表、重复页眉页脚、跨页阅读顺序与来源;正文唯一有序和真实推断损失独立核对。轮廓字/不可信 ActualText 不冒充正文,默认 LINES 保持,AUTO 显式启用,OCR 排除 |
PDF 标准、表单与批注
| 分项 | 优先级 | 当前缺口 | 独立验收目标 | 状态 |
|---|---|---|---|---|
| GAP-10.10 | P2 | 可编辑字段的格式和值类型覆盖有限 | 分别接入多行、comb、富文本及多选等字段;验证标准字段属性、值、固定或显式自适应字号、所有外观状态及填写/扁平化/保存回读,明确容量与复杂文字边界 | 已验收:阶段九十四完成多行、comb、富文本、多选及有界自动字号;值/索引、固定字号和 normal/rollover/down 具体外观、填写/扁平化/保存回读独立核对。超宽容量和复杂文字明确失败或保留原字段,不截断或隐式缩字 |
| GAP-10.11 | P2 | 批注种类和表单数据交换有限 | 分别定义高亮、下划线、删除线、墨迹及形状批注的模型与外观;接入 FDF/XFDF 时校验字段映射、编码、附件及被动动作,验证导入导出及未知属性的损失 | 已验收:阶段九十四完成 Highlight/Underline/StrikeOut/Ink/Square/Circle 模型及具体外观、真实 FDF/XFDF 导出/解析/应用;几何、编码、字段映射和未知属性损失独立验证。活动动作、外部引用和不支持载荷拒绝,不执行脚本 |
| GAP-10.12 | P3 | XFA 表单无受支持处理通道 | 先确定静态/动态 XFA 的读取或扁平化子集,资源显式提供;独立验证字段值、分页、可见内容和交互损失,不执行嵌入脚本或冒充通用 XFA 兼容 | 已验收声明子集:阶段九十四完成静态 packet/XDP 定位与 datasets 读取、动态 tb/occur 重复数据分页扁平化;实际字段值、尺寸、两页内容及交互丢失独立验证。资源显式提供,不执行脚本、任意 SOM 或完整 XFA 布局 |
| GAP-11.2 | P2 | PDF 标签结构与无障碍输出缺失 | 先选择 PDF/UA 版本,贯通语义阅读顺序、结构树、标题/列表、图像替代文本和表格头关联;独立验证器与辅助阅读器分别验收生成和已有标签处理 | 已验收:PDF/UA-1贯通显式结构树及模型桥、标题/列表/alt/表头关联、已有标签检查与标题/语言修改;3 份最终文件独立合规及完整顺序/MCID/表头检查通过。生成样例与已有标签修改文件两页实际 NVDA 通过,模型第一页实际读屏覆盖全部角色且无额外 x;模型余页只计已执行的独立结构/渲染证据,实际读屏覆盖限制见阶段九十六 |
| GAP-11.3 | P2 | PDF/A 只覆盖静态 RGB PDF/A-2b | 按 PDF/A-1/2/3/4 的具体版本与选定等级,分别定义字体、色彩、附件、交互及元数据规则;生成、已有文件转换与合规检查独立验收,每份最终文件用独立验证器核对 | 已验收:阶段九十六完成 PDF/A-1b/2b/3b/4f 的生成与已有静态文件显式光栅转换;字体、RGB/ICC、透明度、关联附件、版本/元数据及损失分别验证,9 份归档最终文件逐一通过 veraPDF。其他等级及组合认证不由选定等级推断 |
排版、图形、格式与交付
| 分项 | 优先级 | 当前缺口 | 独立验收目标 | 状态 |
|---|---|---|---|---|
| GAP-03.1 | P2 | 复杂表格及浮动布局的组合续排未覆盖 | 分别扩展变宽纵向合并拆分、递归格子树、组件网格及任意轮廓/跨页浮动锚点;保留完整原文、物理格来源、字段、图片与链接,验证短区推进、预算和内容唯一性 | 已验收:变宽续排和组件网格支持递归子树/纵向 owner 按实际栏宽继续;轮廓浮动支持完整行带曲线避让、原文和区域锚点、跨页图形遮罩及真实语义续排。13 页独立源/字段/链接和多引擎几何检查见阶段九十九 |
| GAP-08.1 | P2 | 字体及文字方向覆盖有限 | 竖排、可变字体轴、CFF2、彩色字体和更多脚本分别定义支持目标;度量、塑形、绘制、提取、搜索及选区逐工具验收。CFF 原生 PDF 字体嵌入与现有轮廓输出独立 | 已验收:原生文字以可选模块提供显式方向/语言/特性、TTB 竖排、列序/分页、纵中横、可变 glyf/CFF2、COLR 与位图彩色字形;静态 CFF 原生 PDF 单独实现。度量、实际轮廓/像素、来源、提取/查询/选中分别验收;原子旧入口及 PDF 可编辑字段保持各自契约 |
| GAP-18.1 | P2 | HTML/CSS 的文档布局扩展 | 按业务子集扩展选择器、媒体/分页规则、Flex/Grid、尺寸与定位;先明确语义或布局映射,再验证级联、资源和跨格式损失,不以保留 CSS 原文冒充支持 | 已验收:阶段一百零四完成静态选择器、级联、媒体/分页、显式尺寸、Flex/Grid 和定位的明确子集;14 页 PDF、8 份 SVG 与 Chromium 源几何、4 项负控制及真实策略降级通过。默认语义模式保持,运行时组件的跨格式损失明确;不支持组合按策略处理,不承诺完整浏览器兼容 |
| GAP-21.1 | P2 | 绘制契约缺少高级色彩和矢量合成 | 分别表达 CMYK、ICC/专色、矢量透明度、混合模式、渐变和图案;保持模型/绘制/后端边界,各后端精确实现或报损,并独立验证色彩、透明关系与页面外观 | 已验收:高级图形贯通 CMYK/ICC/专色、16 种混合、隔离透明组、线性/径向渐变、图案和复合路径裁剪。原生 PDF 资源与像素独立核对;SVG/PNG 对印刷色彩按 ERROR/WARN/IGNORE 和 DEGRADE 明确报告实际损失,不以 RGB 外观冒充油墨保留 |
| GAP-21.2 | P2 | 静态 SVG 仅支持受限子集 | 分别扩展渐变、图案、标记及复杂变换/裁剪组合;核对视口、资源、几何和透明度,安全解析与预算保持,以独立渲染验证最终内容 | 已验收:SVG 离线资源支持 defs/use、渐变与图案继承、marker、仿射变换及裁剪组合,循环/外联/预算仍明确失败。最终 SVG 使用 resvg、源 SVG 使用 Chromium,PDF 双引擎核对几何/透明外观;浏览器 CSS、滤镜、动画及文字布局不属于此明确矢量子集 |
| GAP-14.2 | P1 | 兼容语料和跨平台/阅读器证据不足 | 为每项新增输入组合加入可公开或可复现语料,核对预检/实际损失;明确 JDK/系统矩阵及阅读器的打开、搜索、选择、编辑、保存和回读结果,失败与未执行分别登记 | 部分支持:固定 32 份输出/73 次控制及 8 页双渲染保持;阶段一百零七完成 Windows Word 四页复查、真实控件编辑/保存/重开,以及 PDF 实际搜索/视觉选择/表单填写/保存/重开,最终 JAR 回读与无打印依赖通过;DOCX 模式声明、PDF 应用元数据兼容已修复。Word 保留 334 项未映射诊断,PDF 视觉选择不代替复制文字核对;本轮浏览器前台交互、其他平台及新远端 CI 未执行,完整矩阵仍未关闭;有限容量见 GAP-09 |
| GAP-14.3 | P1 | 稳定 API 与稳定版发布未完成 | 确定 API 冻结与版本兼容规则,验证实际远程 CI、命名空间、签名制品及 Maven 分发,保留 BOM/SBOM/许可和隔离坐标调用方;发布与本地验证分别记录 | 部分支持:兼容规则保留候选 API 基线与破坏变更门禁。0.1.0-rc.1 已于 2026-11-05 使用正式身份签名并发布到 Central;17 个模块的 82 个制品、签名与校验文件均与上传批次一致,BOM/SBOM/许可、篡改拒绝及 Central 隔离调用方的全部 16 个 JAR 摘要通过,见发布记录。稳定 API、稳定版验收和新增手动发布工作流的 GitHub 实际运行仍未完成;RC 发布不表示稳定性或生产 SLA 承诺 |
GAP-22 的候选方向包括 XLSX/PPTX 输出、EPUB/XPS 输入与输出、PS/PCL 输入。每个方向先明确目标结构及可保留内容,再独立实现与验收;图像资源加载不算文档导入,也不承诺电子表格公式或演示文稿动画的完整模型。GAP-23 仅记录扫描件识别的范围外边界;未来若启用,应作为可选模块接入,不改变当前无识别模型依赖的导入路径。
所有扩展沿用下节策略契约:拒绝、警告、忽略与降级/丢弃/跳过独立声明,预检及实际损失覆盖未编辑内容;权限、畸形输入、预算、取消和 I/O 不可忽略。原版布局、标签、表单、签名、色彩或格式属性不能保留时须逐项报告。
自生成文档的恢复与往返编辑
GAP-24 优先解决 Export4j 自己导出的文档能否重新打开并继续编辑;任意外部文档的结构识别仍分别归 GAP-10/12/18/20。已有 DOCX 扩展属性及原包/原页面编辑继续保留原验收状态,不将它们重复登记为完全缺失,也不据此推断完整模型已可恢复。
“原样”须分别约定四种目标:内容保留核对文字、图片及字段;模型恢复核对可编辑结构、样式声明、ID 与引用;外观保留核对页面尺寸、分页及绘制结果;字节一致另行定义适用范围。原页面继续编辑与恢复模型后重新布局是两条不同路径,修改后保存不默认承诺文件字节相同;重新布局的外观验收须固定显式字体、资源、引擎配置及兼容版本。
| 分项 | 优先级 | 当前缺口 | 独立验收目标 | 状态 |
|---|---|---|---|---|
| GAP-24.1 | P1 | 已支持声明模型与显式资源的持久化/恢复 | 文档/分节/页区、完整格式、表格/字段/列表、ID/引用、注释、图片、字体/许可及声明式导航;保留原 XML 编写意图,不序列化 Java 回调或句柄 | 已验收:七十八至八十一的完整语义 XML 保存和八十二的编辑后资源传递保持;九十新增 DocumentNavigation,保存标题筛选、手工目标、目录排版与颜色的声明意图,恢复后自动使用当前标题和最终页码。原 XML 保留主题/变量/条件/循环,自定义代码明确拒绝或报损 |
| GAP-24.2 | P1 | 七种标准输出的显式恢复信息与一致性 | 可选伴随/内嵌、版本及资源绑定、缺失/过期/冲突拒绝;显式策略及读取器只导入当前文件,损坏不可放行 | 已验收:八十三至八十六完成七种容器和体积实测,普通输出无内嵌开销;九十完成 Word 实际编辑/Save/关闭/重开与三动作回读。应用可能移除或改写恢复信息,默认拒绝,明确配置才受限导入当前内容;不保证任意应用保存仍保留扩展信息 |
| GAP-24.3 | P2 | 已支持原包/原页面路径的保留编辑与恢复失效 | 核对无编辑准确字节、未选包条目/页面及文字位置,局部修改后回读;未知结构按已验证处理拒绝或报损 | 已验收:八十二完成 DOCX 原字节/未修改条目、PDF 改字/脱敏及旧恢复信息失效;九十增加复杂 DOCX 仅正文条目改变、四页 PDF 未选页像素不变,保留被动 Span/ActualText 外部的普通文字编辑。标记内部仍明确跳过或拒绝;更广源对象/签名编辑继续归 GAP-10/12,不由本项关闭 |
| GAP-24.4 | P1 | 已声明格式方向的多轮、实际编辑与组合矩阵 | 每方向三轮、XML 控制、A→B→A、当前目标重导入、内容/模型/外观/ID/资源和累计损失;ERROR 拒绝、WARN/IGNORE 同处理且可查询损失 | 已验收:八十二至八十九覆盖七格式简单/复杂 49 组、分节 36 组及注释引用 16 组矩阵;九十将导航、注释、引用、分节变体、图层、嵌套合并表与图片合并为四格式三轮、16 组矩阵,完成独立文件检查、全部新增 PDF 页双渲染、发布坐标调用方及真实 Word 保存回读。交互组合不支持的静态输出明确拒绝,无匹配信息时不从 SVG/PNG 猜测语义 |
恢复数据的解析、解压、资源加载和迁移同样受预算、取消及格式校验约束;损坏或不可信结构不能靠 WARN/IGNORE 放行。有效标准文件缺少恢复信息时,应按请求的保留目标和明确损失规则选择受限导入或拒绝,不能静默声称完整恢复。编辑、删除、脱敏及转换丢弃须同步更新或移除恢复信息,防止隐藏副本恢复已删除内容。公开验收须覆盖外部工具重存、移除恢复信息、可见内容与恢复信息不一致、缺少显式资源、未知版本、失败时旧目标保护及多轮损失累积。
不支持内容的编辑策略与损失报告
以下契约已在统一转换的既有适配器子集中实现并验收。旧入口保留默认行为;新增格式和原包编辑仍须逐项验证,不能据策略枚举推断支持。
| 维度 | 目标行为与验收条件 |
|---|---|
| 动作与覆盖 | 默认 ERROR;允许全局、逐格式、逐功能及逐操作配置,明确覆盖顺序。WARN 返回警告并执行明确的处理方式;IGNORE 执行相同处理但不发该警告。两者均保留可查询的实际损失报告,不能把 IGNORE 结果标记为无损 |
| 处理方式 | 分别声明拒绝操作、跳过该操作、降级为受支持表示、显式丢弃属性或内容。跳过须说明作用于单个命中、整块还是整项请求;保留原内容只有在完整源结构仍被保存且目标格式存在已验证保留路径时才可选,否则明确失败 |
| 预检与执行 | 写出前可检查编辑计划及目标格式,列出可能损失和不可执行项;预检结果绑定同一输入快照与配置。执行后区分预测损失、实际损失和已跳过操作,不能把失败或未执行当成成功;预检不等于 I/O 成功保证 |
| 报告位置 | 包含阶段(导入/编辑/导出)、源/目标格式、功能、操作、节/页区/块 ID、物理格路径及适用的 UTF-16 范围;保留可定位原因、所选动作、处理方式及影响,不默认回显正文、完整路径或凭据 |
| 损失清单 | 列明文字/图片是否删除,字体/样式是否降级,列宽/位置/分页是否改变,字段是否变成静态值,链接/书签/编号/交叉引用是否断开,以及评论/修订/表单/元数据是否丢弃;未编辑部分同样纳入检查 |
| 不可忽略失败 | 非法 Unicode、畸形结构、无效引用、权限不足、预算、取消/超时及 I/O 不得由 WARN/IGNORE 放行;宏、脚本执行及隐式外联继续拒绝。签名相关改动必须遵守独立的已验证处理契约,不能靠忽略警告静默移除或声称签名仍有效 |
| 跨格式边界 | 无表达能力时报告具体降级,不宣称任意格式无损往返;不能保留的未知源结构禁止伪装成“原样保存”。从 PDF 页面恢复语义仍归 GAP-20,策略本身不能补出不存在的内容 |
共同验收须覆盖 ERROR 写出前失败、WARN/IGNORE 的处理内容一致及报告可查询、逐项覆盖优先级、跳过范围、保留失败、未编辑内容损失、输入快照不变和失败时旧目标保护。
自主实现与许可边界
- 自主编写语义模型、测量、分页和绘制组合算法,采用 Apache-2.0 声明。
- 优先复用项目现有代码和 JDK。字体解析、PDF 编码等基础设施继续使用已审查依赖,不为“自主实现”重写成熟解析器。
- 新增依赖、字体、图片或样本文档须进入依赖记录,核对具体版本、传递依赖、原始许可和分发义务。
历史阶段摘要
以下保留各阶段当时的完成范围及后续判断;已完成或调整的内容以本文当前表格为准。
阶段七十七补齐既有 XML 模板源码编辑、普通 ZIP 保存/重开及显式资源复用,继续使用 XmlTemplate → DocumentTemplate。这是 GAP-07 的模板编写能力;任意语义模型恢复、原生格式恢复信息及完整往返仍按 GAP-24 独立跟踪。
阶段七十八完成支持的语义文档到既有 XML 的保存/重开/编辑,阶段七十九完成页区、变体和有序图层的共享来源保存。阶段八十进一步保留注释/标记、Caption 和标题/列表文字外链,完整绑定及统一转换传递注释,三轮控制、实际编辑、10 页 PDF 和 Web 损失对账通过。阶段八十一补齐独立 CrossReference 的保存/绑定与目标改写,跨节显示页码、题注/列表编号、循环目标和 16 页 PDF 验收通过。后续阶段九十补齐声明式导航和组合验收,GAP-24 的当前完成边界见后文;主题编写意图保留原 XML,自定义运行时代码不序列化。
阶段七十六补齐嵌入静态 CFF 的渲染、文字替换、光栅脱敏及语义恢复,并支持同一字体/状态下连续 Tj/TJ 之间的范围匹配。连续多次替换在下一次读取前完成字体子集嵌入;外部字体与内容流的更广组合继续按 GAP-10.6/10.7 独立跟踪。
阶段七十五补齐行内格在不同栏宽间的完整行续排,保留完整原文、实际区域容量、不同格行高、横向合并、图片/字段/外链及 UTF-16。全仓 1,371 项测试、新隔离调用方、10 页独立双渲染/逐页查看和 7 组历史独立回归通过;变宽纵向合并拆分/递归子树及组件网格仍独立。
阶段六十五至七十四已补齐单向图像/外链、普通表格自动列合并、单向长行续页、DocMDP 认证、有限并发失败恢复、单向加密/归档、原子语义表格变宽区域、已有签名字节完整性校验、单向长表实际页码/准确总数和行内内表自动列。全仓 1,362 项测试、本地制品和新隔离调用方通过;各项独立证据分别登记。长期容量、变宽纵向合并拆分/递归子树、更多流式语义、证书信任及完整标准不由这些子目标关闭。
阶段六十三已补齐变宽文字/富文本的最低行数:有界全源重测、短区跳过、实际分配与 UTF-16 诊断保持;1,312 项测试、12 页双渲染及新隔离调用方通过。原子语义行及合并行组已进一步接入变宽区域;行内格完整行续排已由阶段七十五补齐;纵向合并拆分/递归子树及组件网格的变宽续排继续独立推进。
阶段三十六已补齐 GAP-07 的 XML 静态纸张/方向/边距及绝对单位子目标,937 项测试、6 页独立输出与 13 组回归通过。阶段三十七按固定页区角色设计修复四类固定区域的字体角色上下文:全仓 948 项测试、4 页双渲染/逐页复查、新调用方及 17 组独立检查最终通过;一次原生异常退出与单独重跑证据保留。后续阶段三十八已交付 FontRoleScope/固定富文本,975 项测试及 3 页独立输出通过;阶段三十九与四十进一步交付独立列表标记与 XML 分域默认角色/颜色。最终全仓 1,029 项测试、8 页双渲染/逐页复查、新隔离调用方、18 组历史独立检查及两组新检查通过。当前达到受支持报告/静态表单的本地试用门槛,见就绪评估。阶段四十一进一步补齐固定 XML 页眉页脚、独立主题及最终页码;1,041 项测试、5 页双渲染/逐页复查、新隔离调用方和 14 组历史独立回归通过。阶段四十二进一步补齐页区图片/表格、XML 静态分节及 DOCX 默认页区导入导出。主题角色/颜色已由阶段六十验收;首页/奇偶语义页区已由阶段六十一验收,XML 背景/前景及独立主题已由阶段六十二验收。
执行记录
| 批次 | 范围 | 证据 |
|---|---|---|
| 第一批 | GAP-01 普通嵌套文字续页、GAP-02 合并格完整行拆分、GAP-03 命名区分 | 决策、API、验收;266 项 JUnit、5 组 16 页及隔离调用方 4 页独立检查 |
| 第二批 | GAP-05 静态表单、GAP-03 定位表格损失边界与前置条件评估 | 决策、API、验收;277 项 JUnit、静态组件 7 页、调用方 1 页和迁移后 ADR 7 页独立检查 |
| 第三批 | GAP-03 语义插槽与固定视口语义表格 | 决策、API、验收;293 项 JUnit |
| 第四批 | GAP-03 长语义表格区域流、重复表头字段与呈现身份 | 决策、API、验收;313 项 JUnit,嵌套列/连续栏/拆行图文 11 页与隔离调用方 6 页独立检查 |
| 第五批 | GAP-04 文字默认值贯通 | 决策、API、验收;329 项 JUnit,报告 3 页与调用方 1 页独立检查 |
| 第六批 | GAP-06 长合并格语义续排与合法表头呈现 | 决策、API、验收;345 项 JUnit,报告 5 页与调用方 3 页独立检查;15 组历史回归通过 |
| 第七批 | GAP-07 离线声明式 XML 及既有绑定安全加固 | 决策、API、验收;378 项 JUnit,报告 3 页与调用方 1 页独立检查,DOCX/SVG、三组历史回归与新模块坐标通过 |
| 第八批 | GAP-08 文字一致性、GAP-07 Markdown/XML 字段与链接、GAP-10 静态 PDF 处理、DOCX 损失修正 | 验收;472 项 JUnit、35 页新增输出独立渲染与逐页检查、18 组历史回归、本地 SBOM/坐标及新隔离调用方通过 |
| 第九批 | GAP-04 六项显式属性覆盖与逐项恢复 | 设计、样式 API、验收;490 项 JUnit、6 页新输出、22 组历史回归及新隔离调用方通过;旧完整样式和字体/固定行框保持 |
| 第十批 | GAP-09 固定列普通文字单向长表与逐页 PDF | 设计、API、验收;552 项 JUnit、8 页新输出、23 组历史回归、新隔离调用方及 7 组独立 JVM 容量/退出清理通过 |
| 第十一批 | GAP-12 语义列合并与标准 DOCX gridSpan | 设计、API、验收;592 项 JUnit、8 页新输出、24 组历史回归与新隔离调用方通过;Word 保存回读按实际结果登记 |
| 第十二批 | GAP-12 语义跨行合并、二维覆盖与标准 DOCX vMerge | 设计、API、验收;641 项 JUnit、7 页新输出、25 组历史回归、新隔离调用方及独立 PDF/A 验证通过;全覆盖行、原子连通组、字段/图文链接及标准去元数据输入分别检查;Word 工作流收尾失败与读取成功证据分列 |
| 第十三批 | GAP-03/12 多段格、两层原子内表及标准 DOCX | 设计、API、验收;694 项 JUnit、6 页新输出、26 组历史回归、新隔离调用方及独立 PDF/A 通过;全树 ID/预算、层级来源、最终字段/链接和标准双网格/尾段分别验证;Word/容量未重跑 |
| 第十四批 | GAP-07 XML 可读多段格与原子内表 | 设计、API、验收;711 项测试、7 页新输出、27 组历史回归、新调用方与独立 PDF/A 通过;全部分支、复制引用与标准 DOCX 分别检查 |
评估与推进循环
2026-10-16 最新循环:阶段三十六复用 PageSettings 补齐模板内静态纸张配置;随后固定页区角色设计定位角色丢失,阶段三十七修复上下文并保持旧默认与拒绝边界。两单元均完成实现、独立检查及逐页复查。随后阶段三十八至四十自主补齐标准组件角色作用域、固定富文本、独立标记及 XML 分域默认角色/颜色,完成源码交叉复查、行为测试、隔离制品及全部新页检查。最后复查还修复原生 DOCX bullet 外部 override 绕过损失策略的问题。首版试用判断与剩余工作按就绪评估分开登记,不将这些子目标扩大为完整主题或 XML 页区。
每批先定位现状与缺口,再实现可验证行为,完成独立验收后更新状态,最后复评未关闭项。优先级不替代前置条件;因依赖调整顺序须记录源码证据及下一入口,不能把绕过缺口当作完成。
| 循环 | 评估证据 | 推进与复核 | 结果与下一项 |
|---|---|---|---|
| 2026-10-15,语义组合评估 | ComponentLayout 只持有绘制与普通诊断;字段处理识别顶层语义片段,外链处理需要源表格 | 没有把语义 Table 转成网格;先实现独立的静态表单,并删除 ADR 私有绘制器;测试、PDF/SVG 和全部渲染页验证 | GAP-05 关闭于明确子集;GAP-03 保持开放 |
| 2026-10-15,交付后回查 | 定位 TableComponent 接受单元格外链,但最终 extras 中没有外链;字段和字体角色也缺少最终上下文 | 在构造时明确拒绝相关内容,补充文字外链、图片外链及字段/角色 3 项回归;普通富文本与顶层语义表格回归通过 | 修正已关闭;GAP-03 的区域流尚未完成 |
| 2026-10-15,语义组件组合 | 普通长格、合并长格和双层嵌套需要完整保留字段、来源与字体上下文 | 自主实现有序语义插槽,传播实际字体/来源,终态解析字段、引用、图文外链;固定视口组件与隔离调用方验证 | 固定组合子集完成,GAP-03 保持部分支持;默认样式仍是已证实的易用性缺口 |
| 2026-10-15,语义区域流复评 | 固定视口已有字段语义;核心测量与最终字段解析可复用,但逐插槽登记会把续排误判为重复源 | 复用核心表格分配区域,独立验证片段序列与唯一源;逐栏表头值、拆行图文、链接和 FontScope 多短区通过行为及输出检查 | 区域流子目标完成;不扩大为长合并网格或 DOCX 嵌套支持。下一项默认样式贯通 |
| 2026-10-15,默认值与易用性复评 | 正文格式未进入组件;直接测量网格/绕排会绕过普通入口;包装器可能改变窄组件宽度 | 显式记录未设置状态,测量前解析,保留字体/语义上下文和原始宽度;16 项新行为测试、4 页样式输出及 14 组既有独立回归通过 | 文字默认值子目标完成;三处重复 style 回调改为一处 bodyFormat,完整代码 41→40 非空行,仍不构成总体易用性排名 |
| 2026-10-15,长合并格语义复评 | 固定视口无法适应每次格内可用高度;缓存网格表头会被视为重复完整源 | 复用核心一次测量游标;网格局部校验准备片段/合法缓存呈现并确定最终序号,全局来源校验保持严格;16 项新行为测试、8 页独立检查、15 组历史回归通过 | GAP-06 关闭于标准语义格组合;来源是内 Table 行列,不冒充外网格坐标。下一项 GAP-07 安全声明式模板 |
| 2026-10-16,声明式模板复评 | Java 模板已有严格节点绑定;数据大数子类、追加后计费及空循环有安全与预算缺口 | 新适配器只编译到既有模型,资源全部显式;加固数据快照、追加前预算、词法父链与工作检查点;33 项新增行为测试、4 页独立输出及三组历史回归通过 | XML 声明式子集完成;不扩大为 Markdown/HTML/CSS 或任意模板沙箱。新坐标、BOM/SBOM 与隔离调用方通过,下一项 GAP-08 文字与阅读器语料 |
| 2026-10-16,文字及适配器复评 | 缺字替换后的簇边界、双向续行及塑形上下文存在不一致;模板字段/链接和 PDF 静态处理缺公共入口;DOCX 已知嵌套容器会静默丢失 | 修复共享文字路径;严格 Markdown、XML 字段/链接及静态 PDF 适配器自主实现;94 项新增测试、35 页输出、18 组历史回归及隔离调用方通过 | GAP-07/08/10 均按实际子集保持部分支持;记录提取与选区差异,不宣称阅读器通用兼容;下一项 GAP-04 显式逐属性继承 |
| 2026-10-16,局部样式与长表复评 | 完整 style 回调无法表达只改字号;默认数值不能表示设置意图;长表 Cursor 仍保留全部模型/测量/页 | 不可变属性声明在测量前合成完整样式,保留旧回调及单项恢复;18 项新增行为测试、6 页独立输出、22 组历史回归通过;逐页源/后端四层下一入口已明确 | GAP-04 属性子目标完成,主题/可编辑字段仍开放;GAP-09 保持待实现,不把源迭代器或 TEMP_FILE 当作全链路流式 |
| 2026-10-16,单向长表与容量复评 | 完整 Table/测量/IR/Display List 均全量驻留,源包装或 TEMP_FILE 无法单独关闭缺口;PDFBox 仍保留累计对象 | 自主实现单向固定列规格、逐行测量/逐页绘制、同步后端及扁平摘要;62 项新增测试、8 页独立检查、23 组历史回归与 7 组独立 JVM 通过;修正采样脚本 PS5.1 退出码并新 ID 重跑,退出文件数/字节均 0 | GAP-09 按固定列普通文字子集改为部分支持;64 MiB 堆完成 100k 行布局,100k PDF 1,786 页/325.281 秒,不能解释为恒内存。下一项 GAP-12 columnSpan |
阶段二十五复评:columnSpan 已通过模型/核心/组件/Java/XML/DOCX 的 40 项新行为测试,8 页新输出、24 组历史验收与新隔离调用方通过。Word 读取与字段更新成功,保存/导出在有界私有实例内阻塞,不能登记保存回读通过。
阶段二十六复评:新增 49 项行为测试打通 rowSpan/vMerge,二维网格按真实锚点准备,覆盖行不复制内容;确定行高与传递连通组用于正文、连续栏及网格语义路径。7 页独立几何/双渲染/逐页检查、25 组历史验收与新隔离调用方通过。交叉复核修正稠密空行视图、DOCX 历史逆向查询和续接格未知样式的静默损失;保留原失败日志。Word 能读取标准输入并更新原生页码,探针的行数假设和 COM 收尾失败仍记录为工作流失败,私有进程已精确清理,不据此关闭保存兼容。
阶段二十七复评:两层原子 Paragraph/Table 块格已完成模型/IR、Java 深绑定、全树来源/预算、最终字段/链接和标准 DOCX 双向映射。交叉审查修复组件源预算路径/宿主索引和 DOCX 续接格隐藏语义/字段缓存计数,6 页独立检查、26 组历史回归与新调用方通过。下一优先项为 GAP-07 XML 可读嵌套格语法,复用现有树与原子布局,编译阶段检查全部分支,不扩大 Markdown 或递归续排。跨页拆分纵向组、完整递归续排及 GAP-09 更多语义/持续容量继续独立。依赖、验收及完整剩余范围见执行计划。GAP-08 的工具兼容限制仍开放;逻辑文字、查询和精确选区不等价。
已验收项仍保留限制;新增组合或回归时重新打开对应项。静态表单的选项整组保持和 DOCX 语义仍未实现;文字样式继承以阶段十九及二十三的明确范围为准。
阶段二十九复评:单向长表已复用纯 InlineText 与真实字体角色,21 项新行为测试、6 页独立检查、28 组历史回归和新隔离调用方通过;9 组普通/富文本独立 JVM 含 64 MiB 布局控制。审查修正容量例的手算运行数,并从新 ID 重采全部富文本组,退出清理与字体摘要通过。GAP-09 保持部分支持;下一单元为 GAP-04 编写时主题快照与具名完整样式,字体角色级联/可编辑字段/XML 名称另行设计。
阶段三十复评:Java DocumentTheme 集中完整正文/六级标题/便利语义表格与命名完整样式,加入时解析并保留显式值、六项组件继承和格格式意图。21 项新增行为及总计 753 项测试通过,9 页最终 PDF/SVG/DOCX 独立检查与逐页复查完成,新调用方通过。首轮 DOCX 断言已精确定位为普通段落默认运行展开,规范化表示后仍完整比较。下一优先项为XML 主题设计,保持 XML body/cell 配置独立;GAP-04 不因 Java 子集而关闭全部样式目标。
阶段三十一复评:XML 主题保留 body/cell 独立配置和既有 size 行高规则,p/span 静态名称在全部分支编译检查。27 项新模板测试及全仓 780 项测试通过,4 页 PDF/SVG/DOCX 独立检查、逐页目视、新调用方及 12 组检查通过。实际补齐未知字体角色的 UTF-16 叶位置,深层来源保持;DOCX 单默认运行只按精确等价表示归一。下一单元为四类可编辑表单显式样式,仍不视为完整品牌主题。OCR 排除。
阶段三十二复评:可编辑 FormStyle已完成四类字段显式外观、旧默认和保存回读;807 项测试、8 页双渲染及人工目视、5 组独立检查和新调用方通过。独立检查发现并修复 PDFBox 零框仍描边的问题;真实 Unicode 同字形提取别名及固定字号裁剪边界保留。页区/目录主题仍开放,下一单元为显式 String 的平面离线 XML include。
阶段三十三复评:平面离线 XML 片段已完成全分支编译、局部名称空间、循环副本引用、连续编号、来源与双重预算;853 项测试、4 页双渲染/根目视、12 组独立检查及新调用方通过。原生 DOCX 编号验证改为逐项 num/startOverride,9 项变异拒绝保留。递归 include 等仍开放,下一单元为目录三类文字独立样式与颜色。
阶段三十四复评:目录独立样式完成标题/页码完整排版、三色及设置意图;20 项新增与全仓 873 项测试、4 页双渲染/逐页复查、新调用方及 10 组独立检查通过。预留较大页码行高后统一最终偏移,不以虚构字形探测;固定 48 pt 溢出明确失败。页区默认与完整品牌主题仍开放,下一单元为XML 编号设计。
阶段三十五复评:XML 多级十进制编号复用现有NumberedItem/SemanticBlocks/DOCX,只扩静态level到1..9。26项新增与全仓899项测试、4页双渲染/逐页复查、12组独立检查及新调用方通过;九级int边界另核标准OOXML,9项变异全部拒绝。实际父级/溢出/固定字段失败阶段准确保留;编号内link等白名单不扩大。GAP-07保持部分支持;页区默认、完整主题、递归续排、持续容量及HTML/CSS/设计器仍待独立推进,OCR排除。
HTML/Markdown 导出已由阶段四十三完成独立语义适配器、逐功能报错/警告/忽略策略及内容验收,详见支持矩阵。这不关闭 GAP-07 的 HTML/CSS 输入或 GAP-13 的设计器,也不扩大绘制组件的语义反向转换范围。
阶段五十八/五十九补齐有界递归 include、动态链接/完整字段目标,以及普通/富文本/OpenType 和混合流的实际变栏宽。各项独立输出与隔离调用方通过;变宽表格/最低多行策略及完整主题仍按明确契约推进,见阶段五十八和五十九。