在当前 db6c758 版本中,同一页放入两张字节完全相同的图片,再删除其中一张。旧版 2 张、新版 1 张,但 scripts/main.py --summary 输出“图片变化: 0”“修改页面: 0”。
复现:用 python-pptx 创建一页空白 PPT,在 old.pptx 的同一页添加同一 PNG 字节两次,在 new.pptx 中只添加一次,其余内容不变;运行 python scripts/main.py old.pptx new.pptx --summary。本地合成样例的原/新版均为 1 页,新增/删除/修改页面均 0,图片变化 0。另显示“移动页面: 1”,这是独立的页面分类问题,此处不重复讨论。
期望:至少报告删除 1 张图片,并将该页计为发生修改。
原因:scripts/comparator.py 的 _diff_images 把图片列表转成 {content_hash: image} 字典,再比较哈希集合。相同哈希的两次出现被折叠为一个键,所以 2→1 时集合完全相同。建议按哈希比较出现次数,或用能保留重复项的实例匹配方式;只在数量或内容确实变化时标记差异。
复现文件均为合成数据,不含个人资料。
在当前 db6c758 版本中,同一页放入两张字节完全相同的图片,再删除其中一张。旧版 2 张、新版 1 张,但 scripts/main.py --summary 输出“图片变化: 0”“修改页面: 0”。
复现:用 python-pptx 创建一页空白 PPT,在 old.pptx 的同一页添加同一 PNG 字节两次,在 new.pptx 中只添加一次,其余内容不变;运行 python scripts/main.py old.pptx new.pptx --summary。本地合成样例的原/新版均为 1 页,新增/删除/修改页面均 0,图片变化 0。另显示“移动页面: 1”,这是独立的页面分类问题,此处不重复讨论。
期望:至少报告删除 1 张图片,并将该页计为发生修改。
原因:scripts/comparator.py 的 _diff_images 把图片列表转成 {content_hash: image} 字典,再比较哈希集合。相同哈希的两次出现被折叠为一个键,所以 2→1 时集合完全相同。建议按哈希比较出现次数,或用能保留重复项的实例匹配方式;只在数量或内容确实变化时标记差异。
复现文件均为合成数据,不含个人资料。