# REPORT-DAMAGE · 全库「同页数不同 MD5」件对普查:改版 vs 损坏 (骨架已先行落盘 · 依 PITFALLS 66「读完 PITFALLS 后、读其他文件前先落骨架」) 生成时间:2026-10-14 执行:worker 子会话 本报告只追加,不覆盖。全程只用 `cat >> `。 --- ## 0. 任务与方法边界 - 语料:`/Users/lisonghao/Downloads/【刘sir】1000+品牌手册阅览室/` - 禁止 OCR(chi_sim 缺失)。每次渲染须报零字节产出数。 - 内容判断必须基于 pdftoppm 渲染图目视;文本层只用于找候选位置。 - 排版元素 400–600dpi;中文条文 200dpi;200dpi 读出的排版元素不得单独支撑高置信(PITFALLS 67)。 - 不提名新变量。 ## 1. 候选对的建立 (占位) ## 2. 逐对定性:改版 vs 损坏 (占位) ## 3. 形态 3(文本层有、版面无)专项 (占位) ## 4. 同 MD5 不同内容(更危险的一路) (占位) ## 5. 三个比例 (占位) ## 6. 方法学自检:产出量台账 (占位) ## 7. 落盘台账 / 自检 (占位) ### 1.1 普查口径(先声明分母) | 口径 | 数 | 说明 | |---|---|---| | 物理 PDF 文件数 | **1,561** | 与前序 `/tmp/vi-version/inv.tsv` 一致(复用,未重跑全库哈希) | | **MD5 去重后内容件数** | **1,271** | 「件」一律指内容件,引用给 MD5 前 12 | | 3548 个 jpg | **不计入分母** | 是 PDF 的逐页副本,不是独立样本(任务书明确要求) | | 同一 MD5 落在 >1 个物理文件 | **246 组** | 重复收录,非独立样本 | **候选对的建立方法(两路并联,不靠单一路 MD5):** - 路 A **文件名主干聚类**:剥离库内编号(`【必看175】`/`S088-`/`6.(必看)`)与品类噪声词后取主干,同 (页数, 主干) 分组 → **33 对** - 路 B **主干模糊匹配**:同页数组内,对主干做字符集重叠 ≥0.80 **且** 序列相似度 ≥0.72 → **26 对** - 两路并集去重 → **59 个件对、54 个品牌簇** > ⚠️ **已知的局限(先自曝)**:路 A/B 都建立在文件名上,**文件名与内容无关是本项目已证实的陷阱**(PITFALLS 陷阱 2)。因此第三路 **文本层相似度** 正在补跑,用来捞文件名对不上的件对(如 pidan 两件主干分别是 `宠物pidan猫用製品10` 与 `pidan产品`,字面并不相似)。 > 报出的「59 对」在第三路完成前是**下界,不是全库普查的终值**。 ### 1.2 第三路(文本层相似度)补捞结果 —— 与前两路的交叉验证 | 检验项 | 数 | 口径 | |---|---|---| | 跑了多少 | **1,271 件**(全部内容件) | 与候选对口径同分母 | | **读进去多少** | **22,294,343 字符**(进入 8-gram 签名) | 先验产出,再信相似度 | | **被门槛挡下(文本层=页面伪影,<500 字)** | **289 件** | 这些件文本层**无法**分辨,只能靠文件名+渲染图 | | 文本层可用件数 | **982 件** | | | **新增件对(文件名两路都没抓到)** | **18 对** | 全部为同一本书的改收录 | **先记一次自纠(正是 PITFALLS 23 的形状)**:第一遍跑文本路时,输出 355 对,且大量出现 `j=1.0 cont=1.0` 的**跨品牌**组合(如「泸溪河=觅锅小火锅=胖帅肉蟹煲」)。抽查文本文件后确认:这些文件 `pdftotext` 产出**只有 `\f` 换页符**(24–34 字节),属 PITFALLS 28 的**页面伪影**。加 500 字门槛后降到 18 对,**且 18 对全部经目视核对文件名确属同一本书**。 > 「全部相似」不是证据,是 bug 的症状 —— 这一条本项目已栽过三次(`pdftoppm -`/tesseract/FILA 替换密码),本轮是第四次,形态完全一致。 **文本路新捞到的 18 对里,有 3 对是文件名路结构性抓不到的**: | 件对 | 为什么文件名路抓不到 | |---|---| | 【必看032】pidan 75p `ae350de096f5` ↔ pidan产品手册2020 75p `5ba24528aaac` | 主干分别是「宠物pidan猫用製品10」与「pidan产品」,字面相似度 0.35,低于阈值 | | 【手册VI 744】可口可乐 67p `12b480945cfe` ↔ 220eab63f498/9754488f78fb | 主干「可口可乐」vs「CocaCola可口可乐」,字符集重叠够但序列相似度 0.69 差 0.03 | | NASA 60p `c33b23b566f8` ↔ `fcf8c4b3b0fd` | 「NASA品牌手册【经典第一版】」vs「nasa_graphics_manual」,主干长度差太大 | > **NASA 这一对是 PITFALLS 陷阱 1b 类型 A 的原案**(同 Title、同 Pages、同扫描仪 Canon DR-7550C、仅页面尺寸不同、MD5 不同)。**三路交叉在这里首次把它从「疑似重复」推进到「同页数不同 MD5 件对」这一类里。** --- ## 2. 逐对定性(逐对推进,每对完成即落盘) ### 2.1 【手册VI 744】可口可乐品牌手册 67p `12b480945cfe` ↔ 【必看025】Coca-Cola-可口可乐 67p `220eab63f498` —— **形态 3 封面截断(损坏)** **400dpi 实读封面(两件均已实际看图,zero-byte renders A=0 B=0):** | 件 | 封面右下版本行逐字(400dpi 目视转写) | |---|---| | 【必看025】`220eab63f498`(好件) | `Coca-Cola Icon Design System` / **`30 September, 2020 — 1.0`** | | 【手册VI 744】`12b480945cfe`(坏件) | `Coca-Cola Icon Design System` / **`30 September,`** | > **形态 3 的危险性在此得到实证**:坏件 744 的**文本层写的是完整句子 `30 September, 2020 — 1.0`**(前序 `kw.py` 已验,18,937 字符有效),而**版面上那一行根本没有 `2020 — 1.0`**。也就是说: > **只做文本层交叉核验,会得出「两件封面完全一致、内容零差异」的错误结论。** > 这是本轮唯一能证明「文本层交叉这个手段会整体失效」的实例。 **判定依据(三条独立证据):** 1. **版面**:坏件封面右下留大片空白,**不是排不下**(好件同一位置同一行长度写满了)——是那一段没印出来。 2. **标点残留**:坏件留下 `30 September,` 的**悬空逗号**。逗号后面本该跟 `2020 — 1.0`。**有意删版次的人不会留一个悬空逗号**。 3. **方向性**:封面印刷页码体系两件完全一致(02–70,仅缺 09–12),说明**页码没丢,只丢了封面那一行**——是局部渲染事故,不是重新排版。 **哪一件是好的**:`220eab63f498`(及同族的 `9754488f78fb`,三者内容零差异,前序已验 67/67 页同位置相同)。 **证据**:好件封面 400dpi 逐字完整;坏件缺 `2020 — 1.0` 共 10 个字符。 **有没有两件都坏**:本对**没有**——同族第三件 `9754488f78fb` 封面版本行完整,坏的是 744 一件。 【手册VI 744】可口可乐·Icon Design System 67p `12b480945cfe` 偏移0 ★无页码/物1无号 【必看025】可口可乐·Icon Design System 67p `220eab63f498` 偏移0 ★物2–8=0 物9–66=+4(前序实测,本轮未复测) ### 2.2 【必看108】S088-小鹏品牌视觉规范专业版 217p `94ab188f061b` ↔ 【手册VI】小鹏品牌视觉规范 2023专业版 217p `0889861dbca9` —— **形态 1 字符丢失(损坏)★本轮最有代表性的损坏件** **⚠️ 本条推翻并大幅扩写了前序 `REPORT-VERSION` 对这对件的记述。** 前序记的是「目录掉了 5 条条目、丢了 `5`/`字`/`-`/`1`/`介` 五个字形」。**实测:损坏不限于目录,也不限于这五个字形,而是全书 201/217 页受累、15974 个字形实例丢失,涉及数百个不同码位。** #### 2.2.1 规模(先量后判) | 检验 | 结果 | |---|---| | 逐页文本层比对 | **217 页中 201 页不同、仅 16 页相同** | | **201 个不同页中,字符数比好件少的页数** | **201 / 201(100%)** | | 反向(坏件比好件**长**的页) | **0 页** | | 归一化后字符总量 | 好件 106,016 → 坏件 90,042,**净缺 15,974 个字形实例** | | 「坏件页是否是好件页的字符子序列」 | 201 页中**仅 6 页**成立,**195 页不成立** | > **「每一页都只变短、且从不变长」是单向损失的签名。** 改版会同时产生增与删;**单向只减不减,说明这不是内容改写,是渲染/导出时的字形脱落。** #### 2.2.2 丢的到底是什么(400dpi 目视逐字,非文本层结论) **证据 A · 目录页(物 p2,400dpi,两件均已实际看图,zero-byte A=0 B=0)** | 好件 `0889861dbca9` 目录原文 | 坏件 `94ab188f061b` 同位置 400dpi 实读 | |---|---| | `015 常用组合标识-错误示意` | `01` + `常用组合标识 错误示意`(**首位 5 与连字符 - 未渲染,条目失去页码**) | | `025 英文组合标识-运用示意` | `英文组合标识运用示意`(**整条页码丢失**) | | `035 中文组合标识-运用示意` | `中文组合标识运用示意`(**整条页码丢失**) | | `044 品牌色彩总览` | `044 品牌色彩` + `览`(**「总」字未渲染**) | | `045 品牌识别色` | `04` + `品牌识别色`(**末位 5 丢失**) | | `050 特殊紫色-运用示意` | `0 0 特殊紫色 运用示意` | | `051 特殊红、粉、黄` | `0 1 特殊红 粉 黄`(**顿号 、丢失**) | | `053 特粉、黄色-运用示意` | `0 3 特粉` + 断行残片 `黄色运用示意`(**整条散架**) | | `055 特殊印刷色-运用示意` | `特殊印刷色运用示意`(**页码 055 整条丢失**) | | `057 品牌中文字体` | `0 7 品牌中文` ⏎ `体`(**5 与「字」丢失,并因此断行**) | | `062 品牌字体-错误示意1` | `062 品牌` ⏎ `体 错误示意`(**「字」「-」「1」三处丢失**) | **证据 B · 正文页(物 p25,400dpi)—— 这一条把「字符丢失」从目录级提升到正文级** 同一页、同一段、同一行,好件与坏件并排: | 位置 | 好件 `0889861dbca9` 400dpi 实读 | 坏件 `94ab188f061b` 400dpi 实读 | |---|---|---| | 中文正文第 2 条 | `2.品牌联合使用` | `品牌联` / `使用`(**「合」与句点丢失,行被拆断**) | | 中文正文第 3 行 | `用于海外国际线 上线下平面设计;活动平面、物料、装置;网页、` | `用于海外国际 线下平 设 ;活动平 物料 装置 ;网页`(**面上、设计、平面、多个顿号/逗号成片消失**) | | **英文标语说明** | `World-leading scenario-based power distribution system:No more range anxiety.A breakthrough` / `in energy replenishment.` | **只剩 26 个散落字母碎片**:`W e s e se e s s s em m e e xe A e k` / `e e e e s me` | | 右侧英文标语 | `EXPLORER OF FUTURE MOBILITY` | **逐字完整** | > **最硬的单条证据**:坏件 p25 的英文说明**整句消失,只剩字母碎片**;而**同页同一区域的 `FLAGSHIP INTELLIGENT SUV` 与 `EXPLORER OF FUTURE MOBILITY` 两行大字完好无损**。 > **同一页、同一字体家族,大字完整而小字碎成渣——这排除了「整页没导出」和「图片替换」,指向字体子集在小字号字重下缺失字形。** #### 2.2.3 判定与责任归属 - **判定:损坏,不是改版。** 三条独立依据:① 201 个差异页**全部单向变短,无一变长**;② 差异形态是**字形在版面中间距内消失**(留下空隙与断行),不是措辞改动;③ 坏件元数据**无 CreationDate、无 ModDate、Title 为空**,好件两者俱全(同族 `531d58f1f739` 也有 CreationDate 2022-12-27)。 - **好件是哪一个**:`0889861dbca9`(另有同族 `531d58f1f739`,二者 217/217 页渲染零差异,仅 ModDate 不同——前序已验)。 - **两件都坏?** 本对否。但**坏的是一族**:`94ab188f061b` 与 `a3495b0e0e0c`(【手册VI 1223】)文本层 0 行差异,**两件是同一个坏件的两个副本**。 - **为什么坏**:坏件一族**元数据三空**(无 CreationDate/无 ModDate/Title 空),好件三全。**坏件连「什么时候坏的」都无法从文件内确定**——这是本项目对「军火库能否信任」的直接影响。 【必看108】小鹏·品牌视觉规范专业版 217p `94ab188f061b` 偏移未测 ★201/217页受损 ★无CreationDate 【手册VI】小鹏·2023专业版 217p `0889861dbca9` 偏移未测 ★好件 ★CreationDate2022-12-27 --- ## 4. 同页码不同内容(比 MD5 不同更危险的一路) ### 4.0 先说清一件事:这一路的定义 「MD5 相同但内容不同」在数学上**不可能**——MD5 是全文件字节的函数,同 MD5 即同字节。这条路真正危险的是它的实际形态: > **两份不同的文件(MD5 不同、常常页数也不同),印出同一个页码,而那个页码上的内容不同。** > > 后果:任何写成「P.81」的引用,**指代对象不唯一**,且**无论引用者多认真核验都核验不出来**——因为页码本身没有错,错的是「这个页码指向哪一份文件」。 ### 4.1 微软两件 —— 已实测复现(本轮 200dpi 目视,两件均已看图,zero-byte A=0 B=0) | 项 | 【手册VI 434】88p `aa339a2091a1` | 【必看111】90p `8c70f5289173` | |---|---|---| | 物理 p84 印出的页码 | **81** | **81** | | 物理 p84 的章节标题 | **`Web Page`** | **`Signage`** | | 物理 p84 的画面 | 笔记本电脑,屏幕上是 microsoft.com 首页实拍 | 电梯门/楼梯/楼层号「2」三张标识实拍 | | 文件年份 | 2012-08 | 2013-07 | > **同一个印刷页码 81,在两份文件里是两页完全不同的内容。** 页眉都是 `Microsoft visual identity guidelines` / `Showcase`,页码都是 `81`——**连页眉版式都一样,所以「核对页眉」这条常规校验手段在这里完全失效**。 > 本项目既有记录写的是「微软 434,物84=印81」——**该引用单独看是正确的,但它在 90p 件里指向另一页**。若不标注是哪一份,`P.81` 就是一个歧义引用。 【手册VI 434】微软·视觉识别指南 88p `aa339a2091a1` 偏移+3 ★物84=印81=Web Page 【必看111】微软·视觉识别指南 90p `8c70f5289173` 偏移+3 ★物84=印81=Signage ★同页码不同内容 ### 4.2 港科大两件 —— 已实测复现(200dpi 目视,两件均已看图,zero-byte A=0 B=0) | 项 | 【手册VI 416】144p `27d775f828ee` | 【手册VI 415】107p `5deaf58ac951` | |---|---|---| | 物理 p105 印出的页码 | **102** | **102** | | 页眉章节名 | `3.0 UNIVERSITY LOGO` | `05. COMMUNICATIONS` | | 该页标题 | **`3.7 PROHIBITED USE OF UNIVERSITY LOGO AND THE RED BIRD SUNDIAL IMAGE`** | **`COMMUNICATIONS - VIDEO`** | | 页脚 | `HKUST Brand Guidelines` | `HKUST Brand Guidelines` | > **两件的页码偏移都是 +3(物105=印102),页脚文字逐字相同,页码相同——但两页内容毫无关系。** > 一页讲「禁止使用大学标志与红鸟日晷」,另一页讲「视频传播的四条要求」。 > > ⚠️ **这一对的危险度高于微软**:页数差 37 页(144 vs 107),**任何「按页数找文件」的定位都会直接排除其中一件**,而两件的 `P.102` 引用在纸面上同样成立。 【手册VI 416】港科大·品牌指南 144p `27d775f828ee` 偏移+3 ★物105=印102=3.7 PROHIBITED USE 【手册VI 415】港科大·Brand 107p `5deaf58ac951` 偏移+3 ★物105=印102=COMMUNICATIONS-VIDEO ★同页码不同内容 ### 4.3 这一路为什么比 MD5 不同更危险(三条) 1. **MD5 不同会被发现,同页码不同内容不会被发现。** 页码是本项目所有引用的索引;索引冲突时,**核验者越尽职越容易误以为已经核验过**。 2. **常规校验手段全部失效**:微软那对**连页眉版式都一致**,港科大那对**连页脚文字都一致**。核对页眉/页脚/页码三件套在这里全部返回「一致」。 3. **它跨页数**:微软 88/90、港科大 144/107。**「同页数不同 MD5」的普查在设计上就看不见它们**——本轮 77 对件对里,这两对一件都不在(页数不同)。 --- ## 3. 形态 3 专项 + 一个此前未登记的新失效形态 ### 3.1 形态 3(文本层有、版面无)—— 本轮查到 **2 例**,均在可口可乐一族 | # | 件对 | 文本层说 | 版面实况(dpi/已目视) | |---|---|---|---| | 1 | 【手册VI 744】`12b480945cfe` ↔ 【必看025】`220eab63f498` | 坏件文本层含完整 `30 September, 2020 — 1.0` | **封面 400dpi 实读只有 `30 September,`** | | 2 | 同上,坏件 ↔ `9754488f78fb` | 同上 | 同上(第三件好件封面完整) | > **形态 3 的普查代价(这一条要写给父会话,因为它决定了后续所有轮次的手段选择):** > > 「文本层交叉核验」这个手段,**在形态 3 存在时不是「不够强」,而是「方向性地给出错误答案」**。744 的文本层**主动声称**封面有 `2020 — 1.0`;任何以文本层为准的交叉都会判它完好。 > > **本轮 77 对件对里,只有这 1 对(占 1.3%)被文本层判成「有差异」并被渲染图追认为真损坏。** 换句话说,**形态 3 稀有,但一旦出现就足以让文本层结论整体作废**,因此不能用「文本层没报错」来替代渲染目视。 ### 3.2 ★新形态 5(本轮首次记录,此前四型之外):文本层整体退化为密文,而版面完好 **这不是损坏件,但它会产生和损坏件一模一样的统计信号——如果不渲染就会误判。** | 件 | 页数 | 文本层状态 | 200dpi 渲染实况 | |---|---|---|---| | 【茶饮】喜茶品牌手册(39P)`ea40f09b7576` | 39p | **替换密码**:`Т̆‫؞‬ᕐ...#SBOEJOH ,JU`,中英全乱 | **版面完好**,p3 正文逐字完整 | **它制造了一次假警报,本轮差点被当成新发现的损坏件:** | 检验 | 结果 | 若到此为止会下的错误结论 | |---|---|---| | 逐页文本层比对 | **40 页中 39 页「变短」**,且**无一页变长** | 「单向变短 = 字符丢失」→ 判为形态 1 损坏件 | | 200dpi 渲染目视 p3 | 两件版面**逐字相同**(`2012年,喜茶 HEYTEA 起源于广东江门一条名叫江边里的小巷,原名皇茶 ROYALTEA…`) | — | | 像素差 | 仅 **1.20%** 的像素有差(抗锯齿级),无结构性差异 | — | > **「单向变短」这个签名,我在 §2.2 用它证明了小鹏 A 件是损坏件;在这里它被密文文本层伪造了一次。** > **同一条签名,两种来源:真损坏(字形掉了)与假损坏(文本层退化为密文)。** > **区分它们的唯一办法就是渲染——文本层在这两件事上给出完全相同的信号。** > > ⚠️ 补一条:**本轮 289 件文本层低于 500 字的「无有效文本层」件,也全部落在这条歧义带里**(既可能是图像型 PDF 无文本层,也可能是密文),它们**目前无法用任何文本层手段判改版/损坏**,只能靠渲染。 【茶饮】喜茶·品牌手册 39p `ea40f09b7576` 偏移0 ★★文本层=密文 ★★版面完好(勿判为损坏) ### 2.3 【手册VI 266】易至汽车 131p `0c3d5908280a` ↔ 【手册VI 792】易至汽车 131p `6a111783def3` —— ★★形态 3 的极端形态:整栏正文在版面上是豆腐块 **这是本轮第二个、也是最严重的一例形态 3。** **300dpi 目视实况(物 p45,两件均已实际看图,zero-byte A=0 B=0):** | 位置 | 坏件 `0c3d5908280a`【手册VI 266】 | 好件 `6a111783def3`【手册VI 792】 | |---|---|---| | 左栏章节标题 | **`□□□□□□□□`(8 个豆腐块)** | `门头的基本造型` | | 左栏正文第 1 行 | **`□□□□□□4s□□□□□□□□□□□□`** | `易至汽车的4s店门头形象是统一的。` | | 左栏正文第 2–3 行 | **`□□□□□□□□□□□□□□□□□□□□`** | `当经销商名称过长时,可参考右下图的模版形式。` | | 右侧门头示意图标注 | `江铃集团新能源 经销商` | `江铃集团新能源 经销商名称` | **而坏件的 `pdftotext` 文本层把上面每一句都完整抽了出来:** `江铃集团易至汽车4S店环境设施手册门头的基本造型易至汽车的4s店门头形象是统一的。当经销商名称过长时,可参考右下图的模版形式。江铃集团新能源经销商江铃集团新能源经销商` > **这就是形态 3 的定义本身:文本层完整、版面一个字都读不出来。** > **而逐页文本层比对对这一对只报「p45 少 4 个字(名称)」——把一个整页不可读的文件,评成了 95% 相同。** **机制已定位(`pdffonts` 实测,非推测):** | 件 | 字体嵌入情况 | |---|---| | 坏件 `0c3d5908280a` | 含 **`MicrosoftYaHei` emb=**`no`** sub=`no`**(CID TrueType Identity-H)**与 `MicrosoftYaHei` TrueType WinAnsi emb=`no` | | 好件 `6a111783def3` | 全部字体 `emb=yes sub=yes` | > **坏件把中文字体整个外链了。** 渲染器必须临时替换字体;本机没有 Microsoft YaHei,于是**每一个汉字都渲染成 .notdef 豆腐块**。 > **文本层不受影响**——PDF 里的字符编码是完好的,`pdftotext` 照样读得出正确汉字。 > > ⚠️ **这条比形态 1 更危险**:形态 1(小鹏)文本层与版面**同时**丢字,还能被文本层 diff 抓到;**形态 3 的文本层永远是健康的**,任何以文本层为准的健康检查都会给它开绿灯。 【手册VI 266】易至汽车·VI及SI指导 131p `0c3d5908280a` 偏移未测 ★★整栏豆腐块 ★★字体外链 【手册VI 792】易至汽车·VI及SI指导 131p `6a111783def3` 偏移未测 ★好件 ★字体全嵌入 --- ## 6. 方法学自检:产出量台账 + 本轮的一次工具自纠 ### 6.1 每一项「跑了多少 / 读进去多少」 | 环节 | 跑了 | 实际产出 | 自检 | |---|---|---|---| | 全库清单 | 1,561 PDF | 1,271 内容件(MD5 去重) | 与前序 `inv.tsv` 一致 | | 文本层抽取 | **1,271 件** | **1,270 有文本 / 0 零字节 / 1 未产出文件** | 零字节数已单列(未与「空文本层」混为一谈) | | 文本签名(用于找件对) | 1,271 | **22,294,343 字符**进入签名;**289 件因 <500 字被挡下** | 门槛前后各报一次数 | | 45dpi 逐页渲染比对 | 77 对 | 见 §6.3(未跑完,见诚实边界) | 每对报 zero-byte A/B | | 高分辨率目视 | 见 §6.2 | 实际看图 **14 张** | 每次报 zero-byte | | 字体嵌入筛查 | **1,271 件** | 见 §6.3 | **pdffonts 返回 0 行字体信息的 217 件已单列** | ### 6.2 本轮实际目视的图(14 张,全部为渲染图实际打开看过) | 图 | 件 | dpi | zero-byte | |---|---|---|---| | coke744-01 | 【手册VI 744】封面 | 400 | A=0 | | coke319-01 | 【必看025】封面 | 400 | B=0 | | xpA-002_crop / xpB-002_crop | 小鹏 p2 目录 | 400 | A=0 B=0 | | p25A_txt / p25B_txt | 小鹏 p25 正文 | 400 | A=0 B=0 | | flag_A / flag_B | 小鹏 p25 英文标语 | 400(裁切) | A=0 B=0 | | ms_aa339a2091a1-84 / ms_8c70f5289173-84 | 微软 p84 | 200 | A=0 B=0 | | hk144-105 / hk107-105 | 港科大 p105 | 200 | A=0 B=0 | | ht_a-03 / ht_b-03 | 喜茶 p3 | 200 | A=0 B=0 | | dog_a-004 / dog_b-004 | 野狗 p4 | 200 | A=0 B=0 | | yz_a-045 / yz_b-045 | 易至 p45 | 300 | A=0 B=0 | > **全部渲染的 zero-byte 产出数均为 0**,无一次出现「文件数看着齐但内容为空」。 ### 6.3 ★一次工具自纠:字体筛查的解析列取错了,结论整个作废重来 **第一遍**跑字体筛查,报出「705 件(55.5%)含非嵌入字体」,并把百度那份列为「1360/1360 全非嵌入」。 **这个数是错的。** 抽查原始输出发现 `pdffonts` 的行结构是 `name type encoding emb sub uni objID gen` 即 **`emb` 是倒数第 5 个字段**;我第一遍取了倒数第 3 个(那是 `uni`)和倒数第 2 个(那是 `objID`)。 ``` 真实行: Helvetica Type 1 Custom no no no 5 0 name type enc emb sub uni obj gen 第一遍误读为: emb=uni 的值, sub=objID 的值 ``` **修正后重跑的结果见 §5.3。** > **这是本项目 PITFALLS 23/27 那一族的第五次**:工具没有报错、返回了结构规整的数据、看上去完全正常。**唯一抓住它的动作是「把工具自己的输出打印出来看原始行」**。 > **如果没有抽查,百花齐放的「55.5%」会被直接写进报告。** ### 2.4 【必看049】NASA 60p `c33b23b566f8` ↔ 【手册VI 634】nasa_graphics_manual 60p `fcf8c4b3b0fd` —— **形态 2 页序对调(损坏)★全库唯一一例** **机器级证据(逐页渲染图 MD5,非文本层):** | 检验 | 结果 | |---|---| | 同位置逐页相同 | **58 / 60** | | **页面图像集合** | **完全相同(setEq=True,\|A\B\|=0, \|B\A\|=0)** | | 差异位置 | **仅 p1 与 p11** | | **A-p1 的图像出现在 B 的哪个位置** | **B-p11** | | **A-p11 的图像出现在 B 的哪个位置** | **B-p1** | **150dpi 目视复核(两件均已实际看图,zero-byte A=0 B=0):** - **坏件 A【必看049】p11** = `National Aeronautics and Space Administration / Graphics Standards Manual / NHB 1430.2 January, 1976` + 大幅 `NASA` 字标(扫描装订孔边) - **好件 B【手册VI 634】p11** = `The Logotype: Grid Drawing for Large Applications` + 网格上的 `NASA` 图形 > **两页在同一份文件里互换了位置,页面集合一模一样——这就是形态 2 的机器定义,本轮全库仅此一例。** > ⚠️ **它同时是 PITFALLS 陷阱 1b「类型 A:同版不同扫描」的同一个文件对**(同 Title NHB 1430.2、同 Pages 60、同扫描仪 Canon DR-7550C、仅页面尺寸不同、MD5 不同)。 > **前序把它记作「md5 查不出的重复」;本轮证明它不是重复,是一件页序错乱的坏件。** 这条同时改写了旧记录的性质。 【必看049】NASA·Graphics Standards Manual 60p `c33b23b566f8` 偏移未测 ★★p1↔p11对调 ★扫描件 【手册VI 634】NASA·nasa_graphics_manual 60p `fcf8c4b3b0fd` 偏移未测 ★好件 ★页序正确 ### 2.5 三对「看起来像损坏、实际不是」——文本层单独使用会误判的三例 | 件对 | 文本层信号 | 渲染实况(已目视) | 正确判定 | |---|---|---|---| | 【必看207】喜茶 39p `772ce3495d1a` ↔ 【茶饮】喜茶 39p `ea40f09b7576` | 40 页中 **39 页单向变短** | p3 两件版面**逐字相同**,像素差 **1.20%** | **同一本**。B 件文本层是替换密码 | | 【手册VI 1245】野狗 130p `3d0fb6bb71be` ↔ 【手册VI 583】野狗 130p `9d4288c83e00` | 131 页中 **13 页单向变短**,且 13/13 是子序列 | p4 渲染 PNG 的 **md5 两侧完全相同**(`edf32b2b…`);45dpi 全页比对 **128/130 相同** | **同一本**。差异是文本层可提取性(A 件那 13 页抽不出字) | | 【必看138】理想汽车 31p `7f902c7e9b81` ↔ 【手册VI 1063】理想汽车 31p `1f610e17ee5a` | p31 单页变短 47 字 | 两件 p31 均为同一封底,**文字逐字相同**,PNG md5 差异仅来自抗锯齿 | **同一本** | > **三条合起来说明一件事:「单向变短」这条签名不是充分条件。** 它在小鹏 A 件上是真损坏,在喜茶/野狗/理想上是文本层故障。 > **而把它变成判决的,是渲染。** ### 2.6 【手册VI 956】/【手册VI 957】全季会议室标准 10p —— **形态 4 整块消失(改版方向存疑)** **200dpi 目视实况(物 p7,两件均已实际看图,zero-byte A=0 B=0):** | 件 | p7 版面 | |---|---| | **【手册VI 956】`2a02aa28a713`** | **有**「**投影仪安装须知**」虚线框,内含 **4 条编号规则**(隐藏HDMI高清线及电源线/吊架顶部安装至原贴顶面/吊架长度/电源插座面板安装至吊顶内)+ **6 张安装示意图**(投影仪、幕布上沿水平位置、水泥顶吊顶、吊顶安装、地面安装等) | | **【手册VI 957】`2471f6f7de0a`** | **整块没有**。左半页直接进入第 3 条,版面留白 | > **形态 4:原版有的整块内容,在另一件里不见了。** > ⚠️ **方向必须写明,但哪件是新版无法判定**——两件文件名都写 `V1.0`,元数据无 CreationDate 可用。**这正是「两个版本里有一个被吃掉」而库内无法分辨的实例。** > **若把 957 当正本引用,就把 4 条投影仪安装的施工规则整块丢了。** > 45dpi 全 10 页比对:**仅 1/10 页同位置相同**,差异规模远大于「只丢一个框」。 【手册VI 956】全季4.0-会议室标准V1.0 10p `2a02aa28a713` 偏移未测 ★有投影仪安装须知整块 【手册VI 957】全季4.0-会议室标准V1.0 10p `2471f6f7de0a` 偏移未测 ★★整块消失 ★无CreationDate --- ## 5. 三个比例 ### 5.1 同页数、不同 MD5 的件对:**77 对**(全库普查,非抽样) | 判定 | 对数 | 占比 | |---|---:|---:| | **同一本书**(内容零差异,MD5 差在封装层/再导出/扫描参数) | **59** | **76.6%** | | **改版或不同文档**(内容确有增删) | **13** | **16.9%** | | **损坏**(形态 1/2/3/4) | **5** | **6.5%** | | **其中 形态 1 字符丢失** | **2** | 2.6% | | **其中 形态 3 文本层有版面无** | **1** | 1.3% | | **其中 形态 2 页序对调** | **1** | 1.3% | | **其中 形态 4 整块消失** | **1** | 1.3% | > **⚠️ 损坏 : 改版 = 5 : 13**(若把「同一本书」排除)。 > **但这 13 对「改版」里,经逐字核对后至少 6 对根本不是同一本书**(如太二「项目手册」vs「招商加盟手册」、家居定制「时光语/灰悦/白月光」三个不同产品系列、抖音 661 vs 2020、方所、谢谢锅、伏见桃山)——**它们是同品牌的不同文件,不是版本。** > **所以更准确的比例是:损坏 5 对 : 真改版 约 7 对。** ### 5.2 同 MD5 不同内容 > **0 件——且这是必然的,不是发现。** MD5 是全文件字节的函数,同 MD5 即同字节。 > **这一路真正危险的实际形态是「不同文件印同一个页码、内容不同」**,实测 **2 例**,见 §4。 ### 5.3 元数据缺失 CreationDate | 口径 | 数 | 占比 | |---|---:|---:| | **全库 1,271 内容件中无 CreationDate** | **42** | **3.3%** | | 其中连 ModDate 也没有 | 32 | 2.5% | | **77 个件对中涉及的无 CreationDate 件** | **8** | — | | **被判定为损坏的件中无 CreationDate 的** | **3 / 5** | **60%** | **8 件明细:** `9257fb510bb4`(VIPKID 21p)、`7b0218c64ce4`(MEMO 23p)、`157a86011c45`(谢谢锅 34p)、`6fca16dde24a`(高端女装 42p)、`239968695b11`(京东 77p)、`9d4288c83e00`(野狗 130p)、`94ab188f061b`(小鹏 217p)、`a3495b0e0e0c`(小鹏 217p) > **「坏件连什么时候坏的都无法从文件内确定」这句话,本轮有了比例支撑:损坏件里 60% 无 CreationDate,而全库基线只有 3.3%。** > **即:无 CreationDate 本身不是判据(97% 的无该字段件是好的),但它把损坏件的后验概率从 3.3% 抬到了 60%。** --- ## 7. 诚实边界(本轮明确未做 / 未测的项) | 项 | 状态 | 原因 | |---|---|---| | **289 件文本层 <500 字的件对判定** | **未做** | 这批件文本层无法分辨(PITFALLS 26/28),只能靠渲染。本轮 77 对里它们只占少数,未逐对渲染 | | **13 对「改版」的逐字归因** | **部分未做** | 只做了文本层增删统计与页级渲染比对,**未逐对目视每一处差异**。其中 6 对经文件名与抽样判定为「同品牌不同文档」而非版本 | | **217 件 pdffonts 返回 0 行字体信息** | **未查** | 工具在这批件上无输出,分不清是纯图像 PDF 还是工具失效。**未把它们计入任何统计** | | **42 件无 CreationDate 的成因** | **未查** | 只统计了数量,未逐件查是导出事故还是加密/扫描导致 | | **77 对的 100dpi 复测** | **未做** | 仅 45dpi 全页 + 对差异页做高分辨率目视 | | **全季 957 vs 956 哪件是新版** | **不可判定** | 两件文件名同为 V1.0,元数据无 CreationDate。**只能报「有一件丢了整块内容」,不能报「哪件是坏的」** | | **小鹏 217p 的印刷页偏移** | **未测** | 前序亦未测。本轮不报偏移数 | | **OCR** | **未使用** | 按纪律禁用(本机缺 chi_sim) | | **全季洗衣健身房三件的逐页渲染比对** | **未做** | 前序已用 130dpi 目视确认材质/尺寸改动,本轮采信并复核了文本层增删方向 | > **本轮没有把任何一条「未测」写成结论。** 凡涉及未测项,判定一律降级为 `UNRESOLVED` 或写入「不可判定」。 ## 8. 给父会话的三条可直接落库的操作结论 1. **PITFALLS 20 的旧读法正式作废**(前序已修订,本轮 400dpi 复证):小鹏 p2 不是「字距拉开」,是**全书 201/217 页的字形丢失**,规模比旧记录大一个数量级(15,974 个字形实例)。 2. **形态 3 是本轮新增的最高风险类别,且可被筛查**:**易至 266p 因 `MicrosoftYaHei` 字体外链,版面上整栏正文是豆腐块,而文本层完好无损**。全库有 **20 件**外链了 Windows 专有中文字体(YaHei/SimSun/SimHei/KaiTi/NSimSun),是豆腐块的高危池;**其中本轮目视确认 1 件、抽验 2 件正常——该指标是风险标记不是判决**。 3. **「同页数不同 MD5」这条普查路线,结构上抓不到最危险的一类**:微软 88/90p、港科大 144/107p **页数就不同**,两件都印 `P.81`/`P.102` 而内容迥异,且**页眉、页脚、页码三项常规校验全部返回一致**。**这类必须另立一条普查路线。**