Skip to content
cccskills
FreePublished on GitHub

add-photo-certificate-watermarks

为照片、身份证、护照、学位证、毕业证、资格证、营业执照等证件或证书扫描件及 PDF 添加本地文字水印。用户提出照片加版权水印、身份证或学历证件添加“仅限某用途”水印、资质文件批量加水印、生成水印预览,或需要保持头像、二维码、印章等区域可辨认时使用。支持 JPEG、PNG、WebP 和 PDF,默认先预览、保留原件并清除图片元数据。

不用于去除水印、伪造或篡改证件内容,也不用于仅设计 Logo 水印素材。

The English summary is being prepared. Showing the original description.

Run score Not tested

See how to install

Files included (5)

  • SKILL.md6.4 KB
  • agents/openai.yaml289 B
  • README.md1.2 KB
  • references/presets-and-safety.md2.9 KB
  • scripts/add_watermark.py17.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

照片与证件水印

使用随 Skill 提供的本地脚本生成可复现的文字水印。先预览,再批量输出;绝不覆盖原件。

工作流

复制并跟踪:

水印进度:
- [ ] 1. 确认输入与用途
- [ ] 2. 选择预设与水印文案
- [ ] 3. 检查依赖并生成预览
- [ ] 4. 审核可读性和避让区域
- [ ] 5. 批量输出并交付

1. 确认输入与用途

  • 解析用户给出的文件或目录;只接受 JPEG、PNG、WebP、PDF。
  • 判断是照片版权标记还是证件 / 证书用途限制;不确定时只问用途这一项。
  • 证件范围包括身份证、护照、学位证、毕业证、成绩单、资格证、营业执照和资质证明等材料。
  • 若请求去水印、修改证件内容或制造误导性材料,停止并说明不能执行。
  • 创建独立输出目录。不要写回输入路径,不要删除原件。

2. 选择预设与文案

  • 照片:使用 --preset photo,默认右下角单点水印,适合作者名、品牌名或版权声明。
  • 证件 / 证书:使用 --preset certificate,默认斜向平铺,适合身份证、学历证件、资格证和资质文件的“仅用于……,再次复印无效”等用途限制。
  • 水印文案必须具体、短且与真实用途一致。不要擅自写身份证号、电话、住址等新的个人信息。
  • 需要文案建议、参数说明或避让原则时,读取 references/presets-and-safety.md。

3. 检查依赖并生成预览

先检查:

python3 -c "from PIL import Image; import fitz; print('watermark dependencies OK')"

缺少依赖时,说明将安装到哪个 Python 环境并征得用户同意,再执行:

python3 -m pip install --upgrade Pillow PyMuPDF

先对第一个输入生成预览:

python3 scripts/add_watermark.py INPUT \
  --output-dir OUTPUT_DIR \
  --text "仅用于办理示例业务,其他用途无效" \
  --preset certificate \
  --preview-only

照片示例:

python3 scripts/add_watermark.py PHOTO.jpg \
  --output-dir OUTPUT_DIR \
  --text "© Example Studio" \
  --preset photo \
  --preview-only

在实际使用时,从当前 Skill 目录解析 scripts/add_watermark.py 的绝对路径,不要假设调用者的工作目录就是 Skill 目录。

4. 审核预览

必须检查预览,不能仅以命令成功作为通过:

  • 水印清晰但不遮挡主体信息。
  • 证件 / 证书水印至少穿过部分内容区域,不能只落在可裁掉的空白边缘。
  • 身份证、护照等身份证明上的人像、姓名、证件号码、机读码或二维码仍可核验;水印可以低透明度穿过,但不能遮成不可辨认。
  • 学位证、毕业证和资格证上的印章、签名、证书编号仍可辨认。
  • 文字没有被裁切,中文没有显示成方框。

需要避让时,使用一个或多个归一化矩形;格式为 左,上,右,下,取值均为 0 到 1:

python3 scripts/add_watermark.py CERT.pdf \
  --output-dir OUTPUT_DIR \
  --text "仅用于供应商资质审核,其他用途无效" \
  --preset certificate \
  --exclude 0.72,0.06,0.94,0.25 \
  --exclude 0.62,0.68,0.90,0.92 \
  --preview-only

脚本不会自动识别敏感区域。根据预览调整 --opacity、--font-size、--layout、--angle 或 --exclude,直到通过。

5. 批量输出并交付

移除 --preview-only,保持已确认的参数不变:

python3 scripts/add_watermark.py INPUT_OR_DIRECTORY \
  --output-dir OUTPUT_DIR \
  --text "仅用于办理示例业务,其他用途无效" \
  --preset certificate \
  --recursive
  • 输出文件默认追加 _watermarked;已存在同名文件时停止,不覆盖。
  • 输出目录位于输入目录内部时,递归扫描会自动排除该输出目录,避免结果被再次加水印。
  • 图片默认移除 EXIF 等元数据;只有用户明确需要保留时才使用 --keep-metadata,并提醒其可能包含拍摄时间、设备或位置。
  • 对一批同版式文件,至少抽查首个、最后一个和一个中间结果。不同版式不要共用未经复核的避让坐标。
  • 最终交付输出目录、文件数量、使用的文案和预设,并明确原件未修改。不要在回复中展示身份证号、证件正文或其他私人信息。

失败处理

  • 文件损坏、加密 PDF、零页 PDF或格式不支持:停止该文件,报告文件名和原因,不生成假成功结果。
  • 字体缺失或中文显示异常:要求用户提供支持该文字的 .ttf / .otf / .ttc,再用 --font 指定;不要把未授权字体打包进 Skill。
  • 输出文件已存在:改用新的输出目录或文件名;不要自动删除或覆盖。
  • PDF 处理失败:保留原件和已成功输出,报告失败项;不要把 PDF 静默转成图片冒充原格式。

Gotchas

  • 水印不是密码学保护,仍可能被裁剪、修复或重绘;不要承诺“绝对防盗用”。
  • 过浅的水印失去限制用途的意义,过深则影响核验;必须以预览为准。
  • 同一组 --exclude 坐标只适合同版式页面。PDF 每页布局不同就逐页检查或拆开处理。
  • 身份证、护照的正反面通常不是同一版式,必须分别预览,不能直接共用避让坐标。
  • --keep-metadata 可能保留 GPS、设备和拍摄时间,默认不要启用。
  • 不要在公开日志、临时目录名或交付说明里写证件号码和其他敏感内容。

输出契约

交付时简要说明:

水印处理完成
- 输出目录:<绝对路径>
- 结果:<成功数> 个;<失败数> 个
- 预设 / 布局:<photo|certificate> / <corner|tile|center>
- 水印文案:<文案>
- 原件:未修改
- 元数据:已移除 / 按用户要求保留
- 复核:<抽查范围与结论>

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

AGENTS.md / CLAUDE.md 最佳实践顾问。用于用户询问 agents markdown、AGENTS.md、CLAUDE.md、Claude Code memory、AI coding agent 指令文件的格式、结构、最佳实践;也用于审查、诊断、重写、优化或从零创建 AGENTS.md、CLAUDE.md、CLAUDE.local.md、.claude/rules 等 agent 指令文件。不适用于通用 README 写作,除非目标是给 AI coding agent 提供项目上下文。

The English summary is being prepared. Showing the original description.

chujianyun/skills749Updated Oct 16, 2026

Agent 设计顾问与审查工具。基于 12-Factor AgentOps 最佳实践,用于:(1) 探讨 Agent 架构设计方案;(2) 审查现有 Agent/Skill/工作流的设计,发现问题,给出改进建议。触发词:审查我的 agent、帮我分析这个 skill、agent 设计、agent 优化、帮我 review 这个工作流、这个 agent 有什么问题、怎么设计 agent、agent 架构咨询。

The English summary is being prepared. Showing the original description.

chujianyun/skills749Updated Oct 16, 2026

喔图(alltuu.com)云摄影相册批量下载工具。当用户需要从 alltuu.com / m.alltuu.com 相册批量下载原图时使用此技能。支持下载原图(6720x4480 级别),自动处理签名URL,并发下载。适用于 alltuu.com/album/ 相册链接。

The English summary is being prepared. Showing the original description.

chujianyun/skills749Updated Oct 16, 2026

文章解读助手。对用户提供的文章(URL、Markdown、PDF、粘贴文本)进行结构化解读,输出包含总览、关键要点、个人启发、批判性思考和延伸思考的 Markdown 报告。触发词:文章解读、解读文章、帮我解读、读一下这篇、分析这篇文章、article interpretation。

The English summary is being prepared. Showing the original description.

chujianyun/skills749Updated Oct 16, 2026

baize

Free

将公开或用户有权访问的 Wiki 完整转换为面向 Agent 的离线知识 Skill,并按原 Wiki 层级保存 Markdown、生成检索索引和逐文档哈希清单,支持无变化不落盘的手动或自动增量更新。当用户要求把 Wiki、文档站或帮助中心做成 Skill、同步已有 Wiki Skill、保持文档目录树或设置 Wiki Skill 自动更新时使用;不用于只摘要单篇网页或绕过登录、付费墙和访问控制。

The English summary is being prepared. Showing the original description.

chujianyun/skills749Updated Oct 16, 2026

审查或设计 Claude Code 项目配置。用于用户提到 `.claude`、`CLAUDE.md`、Claude 配置文件、项目级 Claude 自定义配置、配置结构是否合理、该创建哪些配置文件,或希望从零规划 Claude 配置时使用。默认先审查或诊断,再给方案;只有用户明确要求时,才进一步输出推荐结构或样例文件。

The English summary is being prepared. Showing the original description.

chujianyun/skills749Updated Oct 16, 2026

See all skills by chujianyun

Report a problem with this skill