PDF离线比对工具

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

对话激活后,即在本地生成一个离线PDF像素比对工具exe电脑程序,用于比对你「发出」与「收回」的任意两份 PDF(合同、协议、公文、表格等)是否一致。不依赖 OCR、不读文本层,直接逐页比对渲染图像,圈出被改动的区域。全程断网运行,不联网、不识别文本,不上传任何数据、不侵犯隐私;本机打包自己使用,无需代码签名。

一句话选型结论

按资料字段整理

PDF离线比对工具是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_8149be50/scandiff
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_8149be50仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791625599
正文体量5.8 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
PDF离线比对工具当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

5.8 KB
模型实际读到的说明书原文,来自技能仓库

PDF离线比对工具 · 自动构建 Skill

这是什么(先给用户看的一段说明)

本技能会帮你在自己电脑上生成一个纯本地、可断网运行的小程序,用来比对你「发出」和「收回」的任意两份 PDF 是否一致。

适用场景
- 往来需要签字、盖章的合同、协议、公文、表格等正式文档;
- 你发出定稿 PDF,对方盖章/签字后回传,想确认对方没有偷偷改动内容;
- 任何"同一份文件前后两版要逐字一致"的核对需求。

为什么放心用
- 全程断网运行,不联网、不上传任何数据,不侵犯隐私;
- 不依赖 OCR、不读文本层,直接比渲染出来的页面图像,改一个字、挪一个标点都会留下痕迹。

工具默认功能
- 双框上传:左侧「发出文件(PDF原稿)」、右侧「收回文件PDF(对方签盖)」;
- 页数不一致 → 直接停止并报告,不继续比对;
- 页数一致 → 逐页像素比对,圈出差异区域,生成带红框的差异图 + 文本报告;
- 灵敏度滑块:电子 PDF 用中档即可;扫描件调高以压制噪点误报;
- 输出:在 exe 同目录生成「比对报告_时间戳」文件夹(差异图 PNG + 报告 txt)。

使用须知
- 工具只告诉你"哪里像素不一样",不自动判定是否恶意篡改,最终需你人工确认红框是否落在文字/条款区;
- 签章/签字区域本就会显示差异,属正常,可忽略红框里的"章/签名";
- 扫描件可能带来少量误报,以肉眼核对为准;
- 本机打包自己用,无需代码签名;未签名 exe 在 Win10/11 可能弹"未知发布者",点"仍要运行"即可。

关于功能改动
如果你需要增删或调整功能(如改默认 DPI、加图片比对、支持拖拽排序、换输出格式等),请提前告诉我,我会在开干前说明具体改动;没问题的话,我就按上面的默认功能直接开干。

激活后立即执行的工作流

不要只讲解——激活就开干。 按顺序执行:

1. 输出说明(见上)并建任务清单

用 TaskCreate 建任务:环境准备 / 写代码 / 打包 / 自测 / 交付。

2. 准备 Python 环境

使用本环境托管 Python 3.13 的 venv(路径以 python --version 实际探测为准)。
- 装核心依赖:pyinstaller PyMuPDF Pillow numpy scipy
- PySide6 安装陷阱:venv 内直接 pip install PySide6 可能被沙箱"安全删除"拦截。改为装到独立 --target 目录(见 references/build-notes.md),打包时再 --paths 指过去。若遇拦截,用放开沙箱的方式重装(仅作用于隔离 venv,不碰个人文件)。

3. 落地源码

把本 skill scripts/ 目录下的三个文件复制到当前工作目录:
contract_diff.py(比对引擎,无 GUI 依赖)、gui.py(PySide6 界面)、test_engine.py(自测)。
> 直接 cp 本 skill 的 scripts 目录即可,不要重新生成代码。

4. 跑引擎自测

python test_engine.py —— 验证:篡改数字被精准圈出、页数不符被拦截、相同文件零差异。三项全过才继续。

5. PyInstaller 打包单文件 exe

参照 references/build-notes.md 的精确命令,关键参数:
--onefile --windowed --name ScanDiff(或用户指定的名字)
--paths <pyside6-target> --paths <工作目录>
--hidden-import PySide6 --hidden-import PySide6.QtWidgets --hidden-import PySide6.QtCore --hidden-import PySide6.QtGui
入口 gui.py。输出 dist/ScanDiff.exe。

6. 存活检测

启动 dist/ScanDiff.exe,等待数秒,确认进程存活(Qt 平台插件与所有 import 加载成功,无关键报错)。
> 若重建后 exe 被锁,复制到新目录再测。

7. 交付

  • present_files 交付 ScanDiff.exe + 使用说明。
  • 用 certutil -hashfile ScanDiff.exe SHA256(或 Python hashlib)算 SHA256 附给用户,便于分发时校验。
  • 提示用户:这是在自己机器上打包的,直接双击运行即可;如需给别人用,把 exe + SHA256 一起发,并说明"纯本地离线、不联网"。

关键陷阱速查(详见 references/build-notes.md)

  • fitz.Font(filename=...) 在 PyMuPDF 1.28+ 改为 fontfile=...。
  • 中文 PDF 渲染用 fitz.TextWriter(...).append(pos, text, font=font).write_text(page);但真实用户 PDF 自带字体,引擎不依赖系统中文字体,自测脚本用英数内容规避字体依赖。
  • Qt 日志滚动用 QTextCursor.End(不是 self.log.textCursor().End),否则崩溃且无提示。
  • Windowed exe 启动崩溃无控制台,务必加 sys.excepthook 弹 QMessageBox.critical 避免离线静默失败。

资源

  • scripts/contract_diff.py — 比对引擎(render/compare/report)。
  • scripts/gui.py — PySide6 界面(双上传区、灵敏度滑块、预览、报告)。
  • scripts/test_engine.py — 引擎自测(英数样本,跨平台可跑)。
  • references/build-notes.md — 完整 shell 命令、PyInstaller 调用、沙箱绕过、字体与 Qt 坑点。

常见问题

5 问
答案由本站依据条目字段整理
PDF离线比对工具怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_8149be50/scandiff。安装方式为未标注。装完刷新技能列表或重开客户端。

PDF离线比对工具支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

PDF离线比对工具权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

PDF离线比对工具收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

PDF离线比对工具用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。