在线 PDF 签名,免费

创建手绘或打字签名,并添加到 PDF 的任意页面。绘制您的签名或以草书风格输入您的姓名,然后点击 PDF 将其放置到想要的位置。

您的文件永不离开您的设备
将 PDF 拖到此处 或点击浏览

支持 PDF · 最大 100 MB

工作原理

  1. 使用上方拖放区上传 PDF 文件。
  2. 在画布上绘制您的签名,或以草书字体输入您的姓名。
  3. 根据您的喜好调整签名的颜色和大小。
  4. 浏览 PDF 各页,点击您希望放置签名的确切位置。
  5. 如有需要,可为多页添加签名。
  6. 点击「下载已签名的 PDF」保存已签署的文档。

为什么使用电子签名?

电子签名非常适合无需打印和扫描即可签署合同、协议、表单和文件。它们安全可靠,在大多数司法管辖区具有法律效力,并比手写签名更便捷。使用此工具可快速将您的个人签名添加到任意 PDF 文档。

签名选项

常见问题

我的 PDF 安全私密吗?

是的。所有处理都在您的浏览器中完成。您的 PDF 和签名从不离开您的设备:不会发送到任何服务器,也不会存储在其他地方。

可以签署多页吗?

可以。使用导航按钮在页面之间切换。一次创建您的签名,然后在每个需要的页面点击放置。

可以撤销签名放置吗?

要移除签名,请清除 PDF 并重新上传。文件下载后,您始终可以用不同位置再次签署。

2026 年「签署 PDF」究竟是什么意思

「签署 PDF」这个短语涵盖了四种 PDF 规范和法律框架分别对待的、确实不同的操作,尽管最终用户几乎从不区分它们。最简单的、也是这个工具产生的,是图像覆盖签名:用户绘制或键入名字,结果光栅化为透明 PNG,pdf-lib 把图像作为所选页面上的可见装饰放置。输出 PDF 上有一张签名的图片。没有密码学、没有密钥、没有证书、没有审计轨迹。每个平台上的每个 PDF 阅读器都以相同方式显示签名,因为它只是页面内容流中的一张图像。

第二种形式是「键入姓名作为文本」的签名,通常配合一个复选框或「点击签署」工作流。功能上类似图像情况,但签名是文本对象而不是光栅。法律地位相同。第三种形式是 PDF 规范意义上的数字签名:带有 SubFilter(如 /adbe.pkcs7.detached)的 /Sig 字段、描述文档已签部分的 ByteRange,以及包含签名本身的 CMS(PKCS#7)封装。签名是基于文档字节哈希值计算的,可以用签署者的 X.509 证书验证。PDF 阅读器显示一个「签署人」面板,报告签署者的身份、签名是否有效(是否与字节匹配)以及证书是否受信任(是否链接到信任锚点)。

第四种形式是 PAdES 签名,即符合 ETSI EN 319 142 配置文件之一的数字签名:B-B(基线)、B-T(带时间戳颁发机构的时间戳)、B-LT(嵌入了吊销信息)或 B-LTA(带归档时间戳,使签名能在几十年内保持可验证)。PAdES 满足欧盟 eIDAS 的「合格电子签名」(QES)要求,使签名在整个欧盟具有与手写签名相同的法律效力。本工具产生第一种形式。它适用于非正式合同、内部文档、协议、学校文书,以及大量「我只需要签了它发回去」的情况。它不适用于法律上要求 QES 的文档、有正式签名要求的跨境商业合同,或必须在多年后仍可加密验证的文档。这些场景需要支持 PAdES 的应用程序和合格证书。

为什么图像覆盖签名在大多数情况下仍然合法有效

有些用户惊讶地发现,绘制或键入的签名在大多数日常场合是合法有效的。在美国,相关法律是联邦层面的《E-SIGN 法案》(2000 年)和 50 个州中有 49 个采用的《统一电子交易法》(UETA)。学说锚点可以追溯更远:《合同法重述(第二版)》第 134 条把签名定义为「为认证文书系签名人所作而以实际或表面的意图所创建或采纳的任何符号」。绘制的签名、键入的姓名、「X」标记、甚至复选框中的勾,只要周围语境显示出认证意图,都可以满足这一定义。

在欧盟,情况更为分层。eIDAS 定义了三个等级:简单电子签名(SES)是任何表示意图的电子标记(绘制、键入、勾选)。高级电子签名(AdES)要求签名唯一关联到签署者、能识别签署者、处于其独占控制之下,并能检测任何后续对文档的修改。合格电子签名(QES)是由 eIDAS 许可的信任服务提供商颁发的合格证书所支持、并用合格签名创建设备产生的 AdES。SES 是本工具产生的;QES 需要智能卡或 USB 令牌以及支持 PAdES 的应用程序。SES 在法庭上对大多数文档是可采纳的。当法律明确要求 AdES 或 QES 时(某些司法辖区的房地产交易、其他司法辖区的税务申报、少数地方的雇佣合同,以及双方按合同约定使用 QES 签署的任何文档),本工具不是合适的工具,使用它无法满足法律要求。在这些特定类别之外,带有清晰证据链(邮件收据、邮件时间戳、上传的审计日志、签署时的文档版本)的图像覆盖签名通常是可辩护的。

本工具如何构建签名后的 PDF

本工具完全在浏览器中运行,使用两个开源 JavaScript 库:Mozilla 的 pdf.js 用于渲染文档以便视觉定位,pdf-lib 用于把签名写入输出。当你上传 PDF 时,字节被读入浏览器内存中的 ArrayBuffer,从不离开页面。pdf-lib 解析文档;pdf.js(运行在它专用的 Web Worker 中,这使 PDF 解析远离主线程)在你浏览时把每一页渲染到画布上。签名在另一个 600x180 像素的画布上单独捕获:指针事件(鼠标、触控、手写笔)被翻译成画布 2D 绘图上下文中的线段。当你点击渲染后的 PDF 页面来放置签名时,点击坐标从可见画布分辨率转换到页面的 PDF 用户空间坐标系,同时考虑当前的缩放和页面尺寸。

最终写出是 pdf-lib 这一步。签名画布被导出为 PNG 数据 URL,解码到 Uint8Array,通过 pdf-lib 的 embedPng()drawImage() API 嵌入到输出 PDF 中。pdf-lib 的 save() 流程把文档重写,带上嵌入的图像流以及扩展以引用它的页面内容流。结果是一个标准、有效的 PDF,签名图像作为页面上的普通图像对象嵌入;任何 PDF 阅读器都以相同方式显示它。输出不是与输入逐字节相同的。交叉引用表被重写、对象编号可能移位、流可能用不同的过滤器选项重新编码,pdf-lib 还会应用自己的默认压缩。可见内容除新增的签名外保持不变。如果输入 PDF 包含数字签名(/Sig 字段),那么该签名在输出中会被报告为无效,因为文档字节已改变;在重写之后,已签名的 PDF 应该使用数字签名工具重新签署。

在画布上绘制,技术细节

自 2024 年 Pointer Events Level 3 规范成为 W3C 推荐标准以来,浏览器为鼠标、触控和手写笔输入提供了统一的指针事件。Safari 和一些移动浏览器仍然依赖较旧的 Touch Events 规范。健壮的签名画布同时监听两者:桌面指点设备的 mousedown/mousemove/mouseup,以及移动设备的 touchstart/touchmove/touchend 加上 { passive: false } 选项(此选项必需,以便 preventDefault() 能阻止页面在用户签名时随手指滚动)。

指针事件的坐标以视口为基准报告,因此需要转换到画布的本地坐标系。标准做法是用 canvas.getBoundingClientRect() 获取画布在视口中的位置,然后从事件的 clientX/clientY 中减去。绘制的签名随后通过 canvas.toDataURL() 被光栅化为 PNG,生成 base64 编码的数据 URL。这就是 pdf-lib 通过 embedPng() 消费的中间表示。可见图像伪影的常见来源是 alpha。签名画布以透明背景(无填充)开始;只有笔画像素带颜色。当画布转换为 PNG 时,非笔画像素被编码为透明,签名在嵌入时叠加在底层页面上。如果画布初始化为白色填充,则在放置到非白色页面背景上时,签名会显示为笔画周围的白色框。

键入签名与手写体字体

「键入」标签让你输入姓名并从四种手写体风格的 Web 字体中选择:通用 cursive、Brush Script MT、Comic Sans MS 和 Lucida Handwriting。这些字体都不能保证在所有设备上都安装,因此每个字体选项都回退到平台的通用 cursive 字体族。在 macOS 上,Brush Script MT 广泛可用;在 Windows 上,Lucida Handwriting 是典型的回退;在没有安装桌面字体堆栈的 Linux 上,cursive 字族会解析为 fontconfig 选择的字体,通常是默认的 sans-serif。这是有意的简化。在页面中嵌入自定义手写字体意味着把字体文件随工具一起发布(每种字体几兆字节,许多商业手写字体还有授权问题),或者从字体 CDN 拉取(那会损害「无网络请求」的隐私承诺)。

这里做出的取舍是:键入签名使用你设备渲染出的字体,并在你的机器上光栅化后再嵌入 PDF,因此嵌入的图像看起来和你在预览中看到的一致。出于法律原因需要特定字体的用户(例如要匹配企业品牌签名),应该选择绘制而不是键入,或在桌面图像编辑器中准备签名后通过桌面 PDF 工具导入。

驱动 PDF 签名的真实工作流

常见陷阱及其含义

纯浏览器签名与云端签名

占据搜索结果顶部的云签名服务(DocuSign、Adobe Sign、HelloSign/Dropbox Sign、PandaDoc、Smallpdf、ILovePDF、Sejda)都会把 PDF 上传到他们的服务器、在服务器端渲染、在服务器渲染的画布上捕获签名,并在服务器端写出签名后的输出,然后作为下载提供或存储在他们的云端。隐私态度与本地签名工具有三处不同。第一,文档内容会通过运营商的网络传输,并至少暂时存放在运营商的日志和内存中。第二,运营商现在持有一份已签文档的副本;有些供应商作为审计轨迹的一部分无限期保留(Adobe Sign、DocuSign),另一些在规定窗口后删除(Smallpdf 一小时内,ILovePDF 两小时内)。「X 小时内删除」是从主存储删除的承诺;备份、日志归档和分析管道可能有不同的保留窗口。

第三,服务器端签名服务通常会在 PDF 元数据中包含数字审计轨迹(IP 地址、时间戳、设备信息、收件人确认事件)。这条审计轨迹是用户选择云服务的主要原因之一:它提供了法律可辩护性。代价是审计轨迹由第三方创建和保管。本工具不产生审计轨迹、不嵌入关于谁签了字的元数据、也不在服务器端保留该操作的记录。签名只是页面上的一张图。需要云端审计轨迹的场景(正式商业合同、受监管行业、可能被争议的文档),云服务是正确的选择。当非正式签名足够而隐私是优先项时,本地工具胜出。两者真正是互补的;按文档的法律风险和内容的私密性来选择。

长期验证:图像签名何时不够

图像覆盖签名能无限期保持可见(图像嵌入在文档中,而 PDF 是长寿命格式)。它缺的是密码学证据,证明签名是在特定时间由特定人施加的、且文档自那以来未被修改。PAdES B-LT 和 B-LTA 配置文件通过把来自时间戳颁发机构(RFC 3161)的时间戳和吊销信息(CRL 或 OCSP 响应,按 RFC 5280)嵌入到签名本身中来解决这一点。结果是:即使签署者的证书被吊销、过期,或其颁发 CA 不再受信,仍然可以借助嵌入的信息验证签名。B-LTA 还增加了归档时间戳,周期性地重新锚定验证链,使签名在几十年内保持可验证,即使底层密码学原语过时。

对于需要这种长期性的文档(企业档案、产权契据、法庭记录、政府档案),图像覆盖签名是不够的,需要支持 PAdES 的工具。大多数桌面 PDF 工具(Adobe Acrobat Pro、Foxit PhantomPDF)和一些开源项目(Python 的 PyHanko、Java 的 jSignPdf)在获得签名证书后,可以产生 PAdES 签名。证书本身通常由国家 PKI(欧盟信任服务提供商、美国联邦雇员的 Common Access Card、爱沙尼亚身份证、新加坡 SingPass)或商业 CA(DigiCert、Sectigo、GlobalSign)颁发。对于日常文档,这些都不必要;对于你预期会在十年后于法庭辩护的文档,则都必要。

实务:怎样才算好的电子签名

更多常见问题

绘制或键入的签名在法律上有效吗?

在大多数司法辖区,对于大多数日常文档来说有效。在美国,《E-SIGN 法案》(2000 年)和 UETA(49 个州采纳)在商业领域认可电子签名与手写签名具有同等法律效力。在欧盟,绘制或键入的签名在 eIDAS 下属于「简单电子签名」,对大多数用途在法庭上可采纳。当文档明确要求高级电子签名或合格电子签名时(某些房地产、税务和雇佣场景),本工具不够,需要支持 PAdES 的应用程序和合格证书。

本工具会产生加密的数字签名吗?

不会。本工具产生的是图像覆盖签名,即 PDF 规范所称的「不带底层 /Sig 字段和 CMS 封装的可见签名外观」。输出是一份带有签名图像的普通 PDF;没有阅读器会从密码学上把它报告为「由谁签署」。如需加密数字签名,请参考 Adobe Acrobat Pro、PyHanko、jSignPdf,或任何能访问你签名证书的 PAdES 兼容工具。

有人能修改我已签的 PDF 后,假装我签了修改后的版本吗?

原则上可以。作为图像嵌入的绘制或键入签名,并未在密码学上绑定到文档字节。拿到输出 PDF 的人可以在编辑器中打开,改掉签名周围的文字,然后在签名不变的情况下保存。现实中的防御是文档轨迹(邮件元数据、版本历史、见证、审计日志)。若关心文档内容完整性,请使用加密的数字签名:签名在数学上绑定到文档字节的哈希,任何修改都会破坏签名并可被检测到。

我可以对已经数字签署的 PDF 再签名吗?

可以,但本工具重写文档后,原有的数字签名会被报告为无效。向已数字签名的 PDF 添加任何内容(签名、水印、编辑,甚至一个注释)都会使签名失效,因为文档字节会变。如果需要保留原签名,则不要修改文档。某些 PAdES 工作流允许通过增量更新追加多个签名而不使先前签名失效,但需要支持 PAdES 的工具;此浏览器工具总是完全重写文档。

这符合审计轨迹合规要求吗?

不。本工具不产生审计轨迹。已签 PDF 只包含可见的签名图像;没有内嵌的关于谁、从什么 IP、何时、用何种身份验证签署的记录。若需要审计轨迹合规的签署(DocuSign 风格的审计证书),请使用云签名服务。代价是审计轨迹合规要求签署操作发生在可信第三方服务器上。

那公证呢?

公证与签名是不同的操作。公证人核实签署人的身份并见证签字;公证人的公证证明随文档一起出具。本工具不办理公证。对于需要公证的文档(房地产契据、某些宣誓书、某些委托书),请在美国使用按 RULONA 授权的远程在线公证(RON)服务,或你所在司法辖区的对应服务。

有桌面或编程的替代方案吗?

桌面端的图像覆盖签名,免费的 Adobe Acrobat Reader 支持本地的「填写并签名」(绘制或键入)。编程使用方面,pdf-lib 可作为 Node.js 库脚本化同样的流程;同一个 npm 包驱动着许多 PDF 处理管线。加密数字签名方面,PyHanko(Python)和 jSignPdf(Java)是标准的开源选择,都对 PAdES 提供完整支持,包括 B-LTA。

相关工具