您可以在云端以编程方式使用二维码对 PDF 文档进行电子签名。只要符合特定法规的要求,数字签名就具有与手写签名相同的法律地位。本文将重点介绍如何使用 Python 中的 REST API 使用二维码对 PDF 文档进行签名。

本文应涵盖以下主题:

文档签名 REST API 和 Python SDK

groupdocssignature-for-cloud

对于电子签名 PDF,我将使用 GroupDocs.Signature Cloud 的 Python SDK API。它使您能够在便携式或简单的文档、电子表格、演示文稿和图像中创建、验证和搜索不同类型的签名以获取支持的文件格式。它还为云 API 提供 .NET、Java、PHP、Android、Ruby 和 Node.js SDK 作为其文档签名家族成员

您可以使用 pip(python 包安装程序)在控制台中使用以下命令将 GroupDocs.Signature Cloud 安装到您的 Python 项目:

pip install groupdocs_signature_cloud

在开始执行步骤和可用代码示例之前,请从 dashboard 获取您的 Client ID 和 Client Secret。在代码中添加您的 ID 和密码,如下所示:

client_id = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"

configuration = groupdocs_signature_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

在 Python 中使用 REST API 签署 PDF 文档

您可以按照以下简单步骤使用二维码签署 PDF 文档:

上传文件

首先,使用下面给出的代码示例将 PDF 文档上传到云端:

# 接口初始化
file_api = groupdocs_signature_cloud.FileApi.from_config(configuration)

# 上传示例文件
request = groupdocs_signature_cloud.UploadFileRequest("sample.pdf", "C:\\Files\\sample.pdf", my_storage)
response = file_api.upload_file(request)

因此,上传的 PDF 文件 (sample.pdf) 将在云端仪表板的 文件部分 中可用。

使用 Python 使用二维码签署 PDF 文档

请按照下面提到的步骤以编程方式对 PDF 文件进行签名。

  • 创建 SignApi 实例
  • 设置PDF文件路径
  • 定义 SignQRCodeOptions
  • 设置签名类型、文本和代码
  • 设置签名位置
  • 定义 SignSettings
  • 将 SignQRCodeOptions 和 SaveOptions 分配给 SignSettings
  • 创建 CreateSignaturesRequest
  • 通过调用 SignApi.create\signatures() 方法获取结果

以下代码片段显示了如何使用 REST API 对 PDF 文档进行签名。

# 接口初始化
api = groupdocs_signature_cloud.SignApi.from_keys(client_id, client_secret)

fileInfo = groupdocs_signature_cloud.FileInfo()
fileInfo.file_path = "sample.pdf"

opts = groupdocs_signature_cloud.SignQRCodeOptions()
opts.signature_type = 'QRCode'
opts.text = 'GroupDocs.Signature Cloud'
opts.qr_code_type = 'Aztec'

# 在页面上设置签名位置
opts.left = 450
opts.top = 0
opts.width = 90
opts.height = 90
opts.location_measure_type = "Pixels"
opts.size_measure_type = "Pixels"
opts.stretch = "None"
opts.rotation_angle = 0
opts.horizontal_alignment = "None"
opts.vertical_alignment = "None"
opts.margin = groupdocs_signature_cloud.Padding()
opts.margin.all = 5
opts.margin_measure_type = "Pixels"

opts.inner_margins = groupdocs_signature_cloud.Padding()
opts.inner_margins.all = 2

opts.page = 1

settings = groupdocs_signature_cloud.SignSettings()
settings.options = [opts]
settings.save_options = groupdocs_signature_cloud.SaveOptions()
settings.save_options.output_file_path = "Output\\signedQRCode_sample.pdf"
settings.file_info = fileInfo

request = groupdocs_signature_cloud.CreateSignaturesRequest(settings)
response = api.create_signatures(request)
使用二维码签署 PDF 文档

使用二维码签署 PDF 文件

下载签名文件

上面的代码示例将签名的 PDF 文件保存在云端。您可以使用以下代码示例下载它:

# 接口初始化
file_api = groupdocs_signature_cloud.FileApi.from_config(configuration)

request = groupdocs_signature_cloud.DownloadFileRequest("Output\\signedQRCode_sample.pdf", my_storage)
response = file_api.download_file(request)

# 将下载的文件移动到您的工作目录
shutil.move(response, "C:\\Files\\")

使用 Python 验证电子签名

请按照下面提到的步骤以编程方式验证使用二维码签名的 PDF 文档的签名。

  • 创建 SignApi 实例
  • 设置PDF文件路径
  • 定义 VerifyQRCodeOptions
  • 提供签名类型、文本和代码
  • 定义验证设置
  • 将 VerifyQRCodeOptions 和 FileInfo 分配给 VerifySettings
  • 创建验证签名请求
  • 通过调用 SignApi.verify\signatures() 方法获取结果

以下代码片段显示了如何使用 REST API 验证 PDF 文档中的签名。

# 接口初始化
api = groupdocs_signature_cloud.SignApi.from_keys(client_id, client_secret)

fileInfo = groupdocs_signature_cloud.FileInfo()
fileInfo.file_path = "Output\\signedQRCode_sample.pdf"

opts = groupdocs_signature_cloud.VerifyQRCodeOptions()
opts.signature_type = 'QRCode'
opts.text = 'GroupDocs.Signature Cloud'
opts.qr_code_type = 'Aztec'
opts.match_type = 'Contains'

opts.page = 1

settings = groupdocs_signature_cloud.VerifySettings()
settings.options = [opts]
settings.file_info = fileInfo

request = groupdocs_signature_cloud.VerifySignaturesRequest(settings)
response = api.verify_signatures(request)

print('Signature Verified: ' + str(response.is_success))

在线试用

请试用以下使用上述API开发的免费在线PDF签名工具。 https://products.groupdocs.app/signature/pdf

结论

在本文中,您了解了如何使用 Python 使用文档签名 REST API 在云上签署 PDF 文档。您还学习了如何以编程方式将 PDF 文件上传到云端,然后从云端下载签名文件。您可以使用 文档 了解有关 GroupDocs.Signature Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。

也可以看看