我可以从一台Mac上的预览中导出我的签名,然后在另一台Mac上导入吗?

有关提取签名图像的问题后的进一步。是否可以将包含签名的plist文件从一台Mac复制到另一台?是否有推荐的方法可以导出和导入签名,使其在另一台Mac上与我在此Mac上使用的签名完全相同? 我可以“签署”一个空白PDF并对其进行屏幕截图,但我真的希望具有相同密码的图像也跟随,以便在另一台Mac上与我在此Mac上使用的签名完全相同。

1对于Yosemite,请查看:http://apple.stackexchange.com/questions/155149/importing-exporting-preview-signatures-on-os-x-10-10-yosemite - Beau Smith
9个回答

这个问题在Lion到来时被Aussie Bloke's博客所涵盖。以下是将存储签名的文件和相关钥匙串条目传输到第二台Mac的步骤。

在源Mac上:

  • 打开~/Library/Containers/com.apple.Preview/Data/Library/Preferences文件夹。
    • Finder中,点击前往菜单并按住option键以显示文件夹。
    • 或者,在Finder处于活动状态时,按下⇧⌘G并输入上面的路径直接导航。
  • 在OS X Mavericks 10.9之前的版本上,复制com.apple.Preview.signatures.plist文件。
  • 在OS X Yosemite 10.10之后的版本上,复制com.apple.PreviewLegacySignaturesConversion.plist文件。
  • 启动钥匙串访问
  • 确保选择了登录钥匙串,并选择密码类别。
  • 在OS X Mavericks 10.9之前的版本上,右键点击预览签名隐私密码,然后选择复制密码到剪贴板。这是用于加密签名图像的密码。
  • 在OS X Yosemite 10.10之后的版本上,右键点击签名注释隐私密码,然后选择复制密码到剪贴板
  • 将其粘贴到文本编辑器中并保存文件。您需要将此文件传输到其他计算机。

在目标 Mac 上:

打开预览,进入偏好设置,选择签名选项卡,确保默认的配置文件和文件夹已经创建。 退出预览。确保该进程已终止。 打开~/Library/Containers/com.apple.Preview/Data/Library/Preferences文件夹。 在OS X Mavericks 10.9及更早版本上,将com.apple.Preview.signatures.plist文件复制到该文件夹中,覆盖任何现有文件。 在OS X Yosemite 10.10及更高版本上,将com.apple.PreviewLegacySignaturesConversion.plist文件复制到该文件夹中,覆盖任何现有文件。 启动钥匙串访问。 在OS X Mavericks 10.9及更早版本上,在登录钥匙串中找到预览签名隐私密码,并双击进行编辑。 在OS X Yosemite 10.10及更高版本上,在登录钥匙串中找到签名注释隐私密码,并双击进行编辑。 勾选显示密码复选框,并粘贴从原机器复制的密码。 点击保存更改,完成!

在目标机器上没有现有的预览签名隐私签名注释隐私记录的情况下,在钥匙串访问中,您必须创建一个新的记录。当目标机器(比如附有旧版或第三方显示器的 Mac Pro)没有摄像头,也就无法从预览中创建签名文件时,这是必要的。按照上述方法打开钥匙串访问并执行以下操作:

点击+图标创建新条目 在OS X Mavericks 10.9及更早版本中,在"Keychain Item Name"字段中输入"Preview Signature Privacy"。 在OS X Yosemite 10.10及更高版本中,在"Keychain Item Name"字段中输入"Signature Annotation Privacy"。 在"Account Name"字段中输入"Preview"。 将从原机器复制的密码粘贴到上述步骤。 点击"添加"。 在新创建的条目中,点击"访问控制"。 将"Preview"添加到允许访问的应用程序中。 点击"保存更改",完成!

我使用的是OS X Mavericks系统,当我尝试复制密码时,出现了以下错误:访问此项目受限。(-25320)。有人找到解决办法吗? - Zev Eisenberg
虚惊一场。钥匙串的急救、修复磁盘权限和重新启动的某种组合已经解决了问题。 - Zev Eisenberg
似乎在Yosemite系统上无法正常工作。显然,它现在将签名编码为base64字符串,并将其保存在不同密码条目的密码字段中。 - haridsv
2在Yosemite中,com.apple.Preview.signatures.plist文件不在~/Library/Containers/com.apple.Preview/Data/Library/Preferences文件夹中。 - Beau Smith
3我已经从源Mac获得了com.apple.PreviewLegacySignaturesConversion.plist和Keychain密码。在目标Mac上(运行Sierra的Mac Pro),我使用源Mac的密码在Keychain Access中创建了新的条目。在“Preview”偏好设置菜单中,只有常规选项卡、图像选项卡和PDF选项卡,没有签名选项卡。有办法让Preview识别新的Keychain密码项目和Library/Containers/.../Preferences中应该使用的新plist吗?我只能得到“需要触摸板或iSight摄像头才能创建签名”的错误信息。谢谢! - RanLearns
7在Sierra中似乎不存在com.apple.PreviewLegacySignaturesConversion.plist文件。 - EDP
好处是,钥匙链条目通过iCloud进行同步。 - patrickS
3这个答案已经过时了。请看下面 @Meeh 的回答。 - Greg Allen
5从macOS Mojave 10.14及更高版本(可能还包括早期版本)开始,com.apple.PreviewLegacySignaturesConversion.plist文件位于~/Library/Group Containers/com.apple.PreviewLegacySignaturesConversion/Library/Preferences目录中。 - Andrew Ho-Lee

在Mac OS X High Sierra(可能也适用于Sierra,我记不清了),签名本身是Signature Annotation Privacy密码字段中图像的base64编码。将帐户UUID和密码字段的内容复制到目标Mac上。

The get info window of the entry

(如果你不确定如何自己创建,请创建一个虚假的签名,以便预览创建该条目)

1如果您在Keychain-Access中创建了签名数量并修改了密码,@Meeh的答案效果很好。UUID不需要更改。 - Jan K.
请查看此链接:https://apple.stackexchange.com/questions/155149/importing-exporting-preview-signatures-on-os-x-10-10-yosemite - Greg Allen
2这绝对是最简单的方法。在10.14上完美运行(无需更改帐户UUID,只需替换密码数据)。 - devios1
1这实际上是图片吗?当我解码base64时,它以bplist开头,但我无法打开它。"无法打开属性列表:在第1行出现意外字符b"。 - Josef Habr
如果使用pbcopy从文件中复制密码和/或UUID值,请确保在Keychain中通过退格键删除密码和/或UUID的换行符。 - John Cummings
@JosefHabr 这似乎是一个二进制的plist文件。可以使用plutil -convert xml1将其转换为xml格式,然后我可能会找到另一个大的base64编码的数据块。不过,我不知道那个数据块的格式。 - vitaly

其实你不需要这么复杂的步骤来解决问题。你只需要在两台Mac电脑上将钥匙串与iCloud同步,然后两者上都会有你的签名。我刚刚在MacOS Mojave上尝试了一下,确实有效。

1如果我需要将我的签名导出到朋友的笔记本电脑上,情况可能就不一样了。 - anki

如果您的源Mac是便携式设备(例如笔记本电脑),那么我刚刚执行的一个简单但有效的选项是按照以下步骤操作: 在源Mac上: 1. 打开一个新的TextEdit文档,然后转到文件 > 打印 2. 在PDF下拉菜单中选择在Preview中打开PDF。这将在Preview中打开您的空白TextEdit文档 3. 调整空白Preview窗口大小以填满屏幕 4. 以通常的方式插入您的签名,即工具 > 注释 > 签名,并调整大小为尽可能大 在目标Mac上: 1. 在Preview中转到工具 > 注释 > 签名 > 管理签名 2. 使用相机选项创建一个新的签名 3. 将源Mac展示给目标Mac上的摄像头,它将检测到签名并保存 我意识到这与在纸上涂鸦并在目标Mac上创建新签名类似,但如果没有纸张可用,这种方法对我今天起作用了。希望能对其他人有所帮助。

为了在OS X Yosemite、El Capitan及以后的版本中实现从一台机器到另一台机器的签名转移,需要按照以下步骤进行操作: 1. 按照原始答案的方法进行操作,但需要进行以下修改: 2. 文件com.apple.Preview.signatures.plist不存在。
相反,复制com.apple.PreviewLegacySignaturesConversion.plist。 3. Keychain Access条目Preview Signature Privacy不存在。
相反,请使用Signature Annotation Privacy

也许将这个修改作为已经形成完善并被接受的答案的一部分?这样就只有一个权威答案了。 - Ian C.
我在留下这个回答的同时也更新了原始答案。然而,似乎原始答案已经恢复到我进行更改之前的状态。我将尝试第二次编辑它。 - jimjamz
看起来我对原始答案的编辑仍在同行评审中,因此更新有所延迟。 - jimjamz

在蒙特雷,这个解决方案对我起了作用。从这个讨论.apple.com的帖子中得到的信息: 在源Mac上: 1. 打开钥匙串访问 2. 在本地项目中找到“签名注释隐私” 3. 右键点击该项目,选择“复制密码到剪贴板” 4. 打开TextEdit并粘贴密码(注意密码很长),将文件保存为文本格式 5. 将此文件传输到目标Mac 在目标Mac上: 1. 在Preview中打开任何PDF文件 2. 使用触控板创建一个虚拟签名并保存 3. 关闭Preview 4. 打开钥匙串访问 5. 在本地项目中找到“签名注释隐私”,双击打开该项目 6. 点击“显示密码” 7. 在密码字段中粘贴来自源Mac上创建的文本文件中的文本 8. 点击保存更改 9. 关闭钥匙串访问 在Preview中,虚拟签名将显示在虚拟签名的位置。

钥匙链项目丢失? 如果目标 Mac 的钥匙链访问中缺少预览签名隐私签名注释隐私的钥匙链项目,您可以通过以下简单方法添加:
  • 打开您的预览应用程序,并创建一个新的签名(点击此处链接),稍后将被来自源 Mac 的导入签名替换。如果您计划从源 Mac 导入多个签名,您可以在这里创建多个签名。
  • 退出预览应用程序。 这样应该会自动创建所需的预览签名隐私签名注释隐私的钥匙链项目,以供您在钥匙链访问中使用。
注意:如果您计划将多个签名从源Mac迁移到目标Mac(们),请确保为每个要迁移的签名创建一个新的签名。换句话说,如果您有3个要迁移的签名,请确保在您的钥匙串访问中创建了3个预览签名隐私签名注释隐私的钥匙串项目。

我在High Sierra上遇到了一个问题,即Preview无法保存新的签名,并且我无法从另一台Mac恢复签名。原来是一个损坏的“本地项目”钥匙串导致的,这是Preview存储“签名注释隐私”密码项目的地方。由于“本地项目”钥匙串无法接受新条目,Preview无法保存新的签名。 解决方法:请参考此SO答案以解决该问题。在完成这些步骤后,就能够添加新的钥匙串条目了。

我不知道为什么这个复杂的答案得到了这么多赞。当我在我的Mac Mini上启用iCloud同步钥匙串时,所有来自我的Macbook的签名都在几秒钟内同步到了它上面。