为 PDF 签名

手写签名或输入姓名,放在任意页面上,然后下载签好的文件。不会上传任何内容,一切都在你的设备上完成。

点击选择 PDF 文件,或将它拖放到这里

文件留在你的设备上,不会被上传。

为每一页签名
把同一个签名放到所有页面上,而不仅仅是上面选中的那一页。
并非经过认证的法律电子签名。 这只是把你签名的图像绘制到页面上,并不会添加加密签名或审计记录。适合非正式的签署场景,不适用于需要经认证电子签名的文件。
我的 PDF 文件会被上传吗?

不会。签名操作完全在你的浏览器内通过 JavaScript 完成。你的文件不会离开设备,也不会接触任何服务器。

这是具有法律效力的电子签名吗?

这个工具只是把你签名的图像绘制到页面上,并不会添加加密签名、证书或审计记录。它适合非正式的签署场景,不适合需要经过认证的法律电子签名的文件。

我可以用鼠标手写签名吗?

可以,在签名板中点击并拖动(触屏设备可用手指)即可。你也可以直接以手写体样式输入姓名。

我可以给多个页面签名吗?

可以。开启“为每一页签名”会把同一个签名一次性盖在所有页面上,关闭则只会放在你选择的那一页。

我可以为带密码保护的 PDF 签名吗?

目前还不行。工具无法读取带密码保护或加密的 PDF,会显示错误,请先用 PDF 阅读器移除密码。

工作原理

当你手绘签名时,工具会在一个 HTML 画布上捕捉你的笔迹,裁掉周围的空白区域,并将结果导出为透明 PNG。输入文字生成的签名也是同样的流程:手写风格字体会先渲染到画布上。无论哪种方式,这张 PNG 随后都会通过 pdf-lib 库嵌入 PDF 的对象结构中,并按你选择的确切位置和大小绘制到页面上。

这一切都发生在你的浏览器标签页内部。PDF 通过 FileReader API 读取,在内存中修改,再作为下载文件返回给你。签名时打开浏览器开发者工具的网络面板:不会有任何请求携带你的文档或签名。

值得了解的一点区别:这里添加的是一个视觉签名,也就是叠加在页面上的一张图片,这正是大多数日常文件所需要的。它不是认证机构颁发的那种密码学数字签名,因此 PDF 阅读器不会显示“已数字签名并验证”的提示。