電子簽名就像在電子文檔中輸入姓名一樣簡單。這些越來越多地用於電子商務和監管文件中。電子簽名代表簽名人用來以電子方式簽署文件的視覺編碼形式的數據。作為 Python 開發人員,您可以在雲端以編程方式以電子方式編輯已簽名 PDF 文檔中的簽名。本文將重點介紹如何在 Python 中使用 REST API 編輯已簽名 PDF 文檔中的簽名。
本文應涵蓋以下主題:
文檔簽名 REST API 和 Python SDK
為了在 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文件至雲端
- 使用 Python 更新簽名 PDF 文檔中的簽名
- 下載 生成的文件
上傳文件
首先,使用下面給出的代碼示例將簽名的 PDF 文檔上傳到雲端:
# 接口初始化
file_api = groupdocs_signature_cloud.FileApi.from_config(configuration)
# 上傳示例文件
request = groupdocs_signature_cloud.UploadFileRequest("signed.pdf", "C:\\Files\\signed.pdf", my_storage)
response = file_api.upload_file(request)
因此,上傳的 PDF 文件 (signed.pdf) 將在雲端儀表板的 文件部分 中可用。
使用 Python 更新已簽名 PDF 文檔中的簽名
您可以按照下面提到的步驟以編程方式更新簽名 PDF 文件中的簽名。
- 創建 SignApi 實例
- 設置簽名 PDF 文件的路徑
- 通過提供 SearchQRCodeOptions 和 SearchSettings 來搜索二維碼
- 創建 SearchSignatureRequest
- 通過調用 SignApi.search\signatures() 方法獲取結果
- 定義更新選項
- 設置更新設置
- 將 UpdateOptions 分配給 UpdateSettings
- 創建更新簽名請求
- 通過調用 SignApi.update\signatures() 方法獲取結果
以下代碼片段顯示瞭如何使用 REST API 更新簽名 PDF 文檔中的二維碼簽名。
# 接口初始化
api = groupdocs_signature_cloud.SignApi.from_keys(client_id, client_secret)
# 簽名文檔路徑
fileInfo = groupdocs_signature_cloud.FileInfo()
fileInfo.file_path = "signed.pdf"
# 搜索二維碼
opts = groupdocs_signature_cloud.SearchQRCodeOptions()
opts.page = 1
opts.signature_type = 'QRCode'
settings = groupdocs_signature_cloud.SearchSettings()
settings.options = [opts]
settings.file_info = fileInfo
request = groupdocs_signature_cloud.SearchSignaturesRequest(settings)
response = api.search_signatures(request)
# 更新二維碼
opts = groupdocs_signature_cloud.UpdateOptions()
opts.page = 1
opts.signature_type = 'QRCode'
opts.signature_id = response.signatures[0].signature_id
opts.left = 450
opts.top = 600
opts.width = 90
opts.height = 90
opts.is_signature = True
settings = groupdocs_signature_cloud.UpdateSettings()
settings.options = [opts]
settings.file_info = fileInfo
request = groupdocs_signature_cloud.UpdateSignaturesRequest(settings)
response = api.update_signatures(request)
下載簽名文件
上面的代碼示例將更新後的 PDF 文件保存在雲端,可以使用以下代碼示例下載該文件:
# 接口初始化
file_api = groupdocs_signature_cloud.FileApi.from_config(configuration)
request = groupdocs_signature_cloud.DownloadFileRequest("signed.pdf", my_storage)
response = file_api.download_file(request)
# 將下載的文件移動到您的工作目錄
shutil.move(response, "C:\\Files\\")
使用 Python 搜索和替換電子簽名
您可以按照以下步驟以編程方式搜索和替換簽名 PDF 文檔中的簽名。
- 創建 SignApi 實例
- 設置簽名 PDF 文件的路徑
- 搜索二維碼
- 定義 SearchQRCodeOptions 和 SearchSettings
- 創建 SearchSignatureRequest
- 通過調用 SignApi.search\signatures() 方法獲取結果
- 刪除搜索到的二維碼
- 定義 DeleteOptions 和 DeleteSettings
- 創建刪除簽名請求
- 調用SignApi.delete\signatures()方法獲取結果
- 用條形碼簽名
- 定義 SignBarcodeOptions
- 設置條碼大小和位置
- 定義 SignSettings
- 將 SignBarcodeOptions 和 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 = "signed.pdf"
# 搜索二維碼
opts = groupdocs_signature_cloud.SearchQRCodeOptions()
opts.page = 1
opts.signature_type = 'QRCode'
settings = groupdocs_signature_cloud.SearchSettings()
settings.options = [opts]
settings.file_info = fileInfo
request = groupdocs_signature_cloud.SearchSignaturesRequest(settings)
response = api.search_signatures(request)
# 刪除二維碼
opts = groupdocs_signature_cloud.DeleteOptions()
opts.page = 1
opts.signature_type = 'QRCode'
opts.signature_id = response.signatures[0].signature_id
settings = groupdocs_signature_cloud.DeleteSettings()
settings.options = [opts]
settings.file_info = fileInfo
request = groupdocs_signature_cloud.DeleteSignaturesRequest(settings)
response = api.delete_signatures(request)
# 用條形碼簽名
opts = groupdocs_signature_cloud.SignBarcodeOptions()
opts.signature_type = 'Barcode'
opts.text = '123456789012'
opts.barcode_type = 'Code128'
opts.code_text_alignment = 'None'
# 在頁面上設置條形碼簽名位置
opts.left = 250
opts.top = 0
opts.width = 300
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\\signedBarCode_sample.pdf"
settings.file_info = fileInfo
request = groupdocs_signature_cloud.CreateSignaturesRequest(settings)
response = api.create_signatures(request)
在線試用
請試用以下使用上述API開發的免費在線PDF簽名工具。 https://products.groupdocs.app/signature/pdf
結論
在本文中,您了解瞭如何更新已簽名 PDF 文檔中的簽名。您還學習瞭如何在雲上簽名的 PDF 文檔中搜索和替換簽名。本文還介紹瞭如何以編程方式將 PDF 文件上傳到雲端,然後從雲端下載已簽名的文件。您可以使用 文檔 了解有關 GroupDocs.Signature Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。