在线 PDF 签名,免费
创建手绘或打字签名,并添加到 PDF 的任意页面。绘制您的签名或以草书风格输入您的姓名,然后点击 PDF 将其放置到想要的位置。
支持 PDF · 最大 100 MB
创建您的签名
选择字体风格:
将签名放到 PDF 上
点击上方 PDF 将签名放到该位置
正在处理 PDF…
✓ PDF 签名成功!
工作原理
- 使用上方拖放区上传 PDF 文件。
- 在画布上绘制您的签名,或以草书字体输入您的姓名。
- 根据您的喜好调整签名的颜色和大小。
- 浏览 PDF 各页,点击您希望放置签名的确切位置。
- 如有需要,可为多页添加签名。
- 点击「下载已签名的 PDF」保存已签署的文档。
为什么使用电子签名?
电子签名非常适合无需打印和扫描即可签署合同、协议、表单和文件。它们安全可靠,在大多数司法管辖区具有法律效力,并比手写签名更便捷。使用此工具可快速将您的个人签名添加到任意 PDF 文档。
签名选项
- 绘制· 使用鼠标、触控板或触控笔在画布上绘制手写签名。
- 输入· 输入您的姓名并在多种草书或手写字体中选择,打造个性化风格。
- 颜色· 为签名选择任意颜色;黑色仍是正式文件的标准。
- 大小· 调整签名大小(50-200%),使其完美融入 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 签名的真实工作流
- 通过邮件回寄已签合同。 最常见的场景。对方发来一份 PDF;你签字后把它邮件回去。本工具完全契合此流程:打开文件、签字、下载、附在回信中。无需经过 SaaS 门户的往返、无需注册账户、无需按文档付费。
- 内部文档和审批。 费用报销、休假申请、设备签收以及类似的表格。组织内部对这类文档的标准就是图像覆盖签名,因为内部审计轨迹(谁发了 PDF、谁回的、邮件元数据)提供了完整性保证。
- 学校和家庭文书。 外出许可、报名表、医疗授权、家长报税相关签字。这是个人电子签名最高频的使用场景,也是为了一个被请求的签名而创建 SaaS 账号显得最不成比例的场景。
- 独立承包人和自由职业工作。 工作说明、聘用协议、保密协议、发票确认。大多数自由职业合同是用图像覆盖签名签署的,合同也是可执行的;审计轨迹就是邮件往来。
- 房地产文档审阅。 对租约和购房协议的成交前审阅。房地产交易的成交签字通常需要公证或 QES(取决于司法辖区),但围绕它的几十份较小文档(验房报告、披露文件、家电收据)通常只需要一个非正式的签字。
- 金融文档注释。 税表、保险理赔表、银行开户文件。这些文档常常要求在特定位置签字,处理系统才会接受;把签字放在 SaaS 工具默认放置的位置往往不是正确的地方。
常见陷阱及其含义
- 下载的 PDF 中签名图像太小或太大。 尺寸滑块按画布尺寸的百分比工作,而不是按 PDF 点。US Letter 页面(612 乘 792 点)上的 100% 签名,与 A0 绘图(2384 乘 3370 点)上相同百分比的签名大小不同。对于尺寸不寻常的页面,先放置签名、下载、查看结果,需要时再调整。
- 签名出现上下颠倒或在错误的角落。 深层原因通常是 PDF 页面带有
/Rotate注释,渲染库尊重了它而写入库没有。pdf.js 应用旋转后渲染页面;pdf-lib 在未旋转的页面坐标中放置图像。如果源 PDF 含有旋转的页面,先用 免费在线 PDF 页面旋转 工具规范化旋转,然后再签名。 - 签名在预览中可见,但在下载的 PDF 中缺失。 两种常见原因。第一,在画布上绘制之前就点击了预览,导致记录了一个空占位符。第二,PNG 数据 URL 在传输中受损(实际中少见,但如果浏览器扩展重写 blob URL 就可能发生)。刷新、绘制、重新放置即可。
- 在触屏上绘制,线条拖在手指后面。 大多数移动浏览器的标准触摸事件延迟,而不是画布的 bug。现代浏览器会把每帧的多个指针事件合并,以一些平滑度换取性能。手写笔通常比手指效果更好,因为笔尖产生更精确的指针事件。
- 签名后,原有的数字签名被报告为无效。 这是设计如此。如果输入 PDF 有
/Sig字段,任何修改(签名、水印、编辑,甚至一个注释)都会使原有数字签名无效,因为文档字节改变了。要么先用桌面工具移除现有的数字签名,要么接受输出的数字签名会被报告为无效。 - 签名后的 PDF 无法在 2010 年之前的 PDF 阅读器中打开。 罕见但偶有发生,因为很老的阅读器不支持 pdf-lib 默认输出的一些现代 PDF 特性。变通方法:在当前阅读器中打开签名后的 PDF,另存为 PDF/A,然后把 PDF/A 版本给旧阅读器使用。
纯浏览器签名与云端签名
占据搜索结果顶部的云签名服务(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)颁发。对于日常文档,这些都不必要;对于你预期会在十年后于法庭辩护的文档,则都必要。
实务:怎样才算好的电子签名
- 对于签名视觉特征重要的文档,选择绘制而不是键入。 绘制的签名看起来像签名。用 Comic Sans 键入的姓名看起来就是用 Comic Sans 键入的姓名。
- 签名尺寸保持合理。 占整页三分之一的签名看起来像孩子画的签名。缩放到适合典型签字线的签名(约 200 乘 60 点,大致是本工具默认尺寸的 100%)看起来才正确。
- 正式文档用黑色或深蓝色签名。 蓝色惯例源于历史区分:墨水签名用蓝色书写,而正文用黑色打印,使签名在视觉上能从复印件中区分出来。
- 如果文档有「在此签名」字段,以其位置作为放置目标。 对方的处理系统可能期望签名在特定位置,放在别处会被拒绝。
- 多页文档应在每个被要求的页面上签名,而不仅仅是最后一页。 「每页签名」的惯例之所以存在,正是为了让后续加页无法绕过对新页面签名的伪造。
- 保留发送已签 PDF 的那封邮件的记录。 发件人、收件人、时间戳、message-ID。这是低成本的审计轨迹,让图像覆盖签名拥有现实中的可辩护性。
更多常见问题
绘制或键入的签名在法律上有效吗?
在大多数司法辖区,对于大多数日常文档来说有效。在美国,《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。