wps-stamp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited wps-stamp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
输入单位名称 → 生成规范的中国式电子印章图片。
免责声明:生成的印章仅供设计稿/样本/模板标注使用,不具有法律效力, 不可用于伪造公文或合同。如需正式电子签章请使用国家认可的CA认证服务。
wps-gongwen(只标注位置)[1] 圆形公章 → 单位全称环绕 + 中间五角星
[2] 椭圆合同章 → "XX合同专用章"
[3] 方形财务章 → "财务专用章"
[4] 方形法人章 → 法人姓名
[5] 圆形部门章 → 部门名称from PIL import Image, ImageDraw, ImageFont
import math
import os
def create_stamp(name, stamp_type='公章', output_path=None):
"""生成电子印章图片"""
size = 400
img = Image.new('RGBA', (size, size), (255, 255, 255, 0))
draw = ImageDraw.Draw(img)
center = size // 2
color = (220, 30, 30, 230) # 红色
if stamp_type == '公章':
# 外圆
margin = 15
draw.ellipse([margin, margin, size-margin, size-margin],
outline=color, width=6)
# 五角星
star_r = 45
points = []
for i in range(5):
angle = math.radians(-90 + i * 72)
points.append((center + star_r * math.cos(angle),
center + star_r * math.sin(angle)))
angle2 = math.radians(-90 + i * 72 + 36)
points.append((center + star_r * 0.38 * math.cos(angle2),
center + star_r * 0.38 * math.sin(angle2)))
draw.polygon(points, fill=color)
# 环绕文字
try:
font = ImageFont.truetype('/System/Library/Fonts/STHeiti Light.ttc', 28)
except (OSError, IOError):
font = ImageFont.load_default()
radius = size // 2 - 40
total_angle = len(name) * 22
start_angle = 270 - total_angle // 2
for i, char in enumerate(name):
angle = math.radians(start_angle + i * 22)
x = center + radius * math.cos(angle)
y = center + radius * math.sin(angle)
char_img = Image.new('RGBA', (40, 40), (0, 0, 0, 0))
char_draw = ImageDraw.Draw(char_img)
char_draw.text((5, 2), char, fill=color, font=font)
rotated = char_img.rotate(-math.degrees(angle) - 90,
expand=True, resample=Image.BICUBIC)
paste_x = int(x - rotated.width // 2)
paste_y = int(y - rotated.height // 2)
img.paste(rotated, (paste_x, paste_y), rotated)
elif stamp_type in ['财务章', '法人章']:
# 方形章
margin = 60
draw.rectangle([margin, margin, size-margin, size-margin],
outline=color, width=5)
try:
font = ImageFont.truetype('/System/Library/Fonts/STHeiti Light.ttc', 42)
except (OSError, IOError):
font = ImageFont.load_default()
text = name if stamp_type == '法人章' else f"{name}\n财务专用章"
bbox = draw.textbbox((0, 0), text, font=font)
tw, th = bbox[2] - bbox[0], bbox[3] - bbox[1]
draw.text((center - tw//2, center - th//2), text,
fill=color, font=font)
if not output_path:
output_path = f'{name}_{stamp_type}.png'
img.save(output_path)
return os.path.abspath(output_path)使用方法:
1. 插入 → 图片 → 选择生成的印章PNG
2. 图片格式 → 环绕方式 → 浮于文字上方
3. 调整大小(建议4cm × 4cm)
4. 拖动到落款位置(略偏右下盖住部分文字)# 公章
/wps-stamp XX科技有限公司 公章
# 合同章
/wps-stamp XX集团 合同章
# 法人章
/wps-stamp 张三 法人章~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.