E-Sign Documents with Python

電子文件簽署簡介

電子簽名已經改變了企業和個人處理文件工作流程的方式。不再需要打印、簽署和掃描 - 現在您可以使用幾行 Python 代碼數字簽署文件!

本全面指南將指導您使用 GroupDocs.Signature for Python via .NET 為 PDF、Word 和 Excel 文件創建電子簽名。無論您是構建文件管理系統、自動化業務流程還是創建安全簽署平台,本教程都能滿足您的需求。

了解電子簽名及其優勢

電子簽名不僅僅是手寫簽名的數字表示形式。它是一種安全的方法,用於驗證文件的真實性和簽署者的身份。主要優勢包括:

  • 法律有效性:在世界上大多數國家得到認可
  • 安全性:加密保護,防止篡改
  • 效率:可以從任何地方立即在線簽署文件
  • 可追溯性:簽署過程的詳細審計跡跡
  • 成本效益:消除紙張、打印和運輸成本
  • 集成:可以輕鬆納入現有的文件工作流程

🛠️ 設置您的 Python 環境

在開始簽署文件之前,您需要正確設置 Python 環境。按照以下簡單步驟準備:

  1. 安裝 GroupDocs.Signature for Python via .NET
pip install groupdocs-signature-net
  1. 導入所需模塊
# 導入核心 GroupDocs.Signature 庫
import groupdocs.signature as gs

# 導入用於配置簽名設置的選項
import groupdocs.signature.options as gso

# 導入外觀設置以自定義簽名的外觀
import groupdocs.signature.options.appearances as appearances

📝 使用 Python 為 PDF 文件電子簽署

PDF 是最常見的需要數字簽名的文件格式之一。以下是完整示例,展示如何使用完整自定義選項為您的 PDF 文件添加專業電子簽名。

# 此函數演示如何將數字簽名添加到 PDF 文件
# 簽名包括數字證書和視覺元素
def sign_pdf_document():
    # 定義文件路徑
    sample_file_path = "sample.pdf"         # 源 PDF 文件
    certificate_pfx = "MrSmithSignature.pfx"  # 數字證書文件
    image_handwrite = "signature_handwrite.jpg"  # 可選的手寫簽名圖像
    output_file_path = "signed.pdf"         # 保存簽署文件的位置

    # 打開文件進行簽署
    with gs.Signature(sample_file_path) as signature:
        # 配置數字簽名選項
        options = gso.DigitalSignOptions(certificate_pfx)

        # 設置視覺外觀屬性
        options.image_file_path = image_handwrite  # 添加手寫簽名圖像
        options.left = 450                         # 頁面上的 X 位置
        options.top = 150                          # 頁面上的 Y 位置
        options.page_number = 1                    # 要簽署的頁面
        options.password = "1234567890"            # 證書密碼

        # 將元數據添加到簽名
        options.appearance = appearances.DigitalSignatureAppearance(
            "John Smith",                          # 簽署者姓名
            "Title",                               # 簽署者頭銜
            "jonny@test.com"                       # 簽署者電子郵件
        )
        options.reason = "Document Approval"       # 簽署文件的原因
        options.contact = "JohnSmith"              # 聯繫信息
        options.location = "Office1"               # 簽署地點

        # 應用簽名並保存文件
        result = signature.sign(output_file_path, options)

        # 顯示成功消息,兩個單獨的日誌條目
        print(f"\n源文件簽署成功。")
        print(f"總簽名應用: {len(result.succeeded)}")
        print(f"文件保存於 {output_file_path}。")

結果輸出:

帶有證書驗證和視覺手寫元素的專業 PDF 數字簽名示例

為 Excel 文件添加數字簽名

Excel 電子表格通常包含需要驗證的重要財務數據。以下是如何使用 Python 安全簽署 Excel 文件以驗證其真實性並防止未經授權的更改。

# 此函數演示如何數字簽署 Excel 電子表格
# 適合財務文件、報告和其他敏感數據
def sign_excel_document():
    # 定義文件路徑
    sample_file_path = "sample.xlsx"        # 源 Excel 文件
    certificate_pfx = "MrSmithSignature.pfx"  # 數字證書文件
    output_file_path = "signed.xlsx"        # 保存簽署文件的位置

    # 打開 Excel 文件進行簽署
    with gs.Signature(sample_file_path) as signature:
        # 配置數字簽名選項,使用證書
        options = gso.DigitalSignOptions(certificate_pfx)

        # 設置 Excel 文件中的簽名位置
        options.left = 450                  # 頁面上的 X 位置
        options.top = 150                   # 頁面上的 Y 位置
        options.page_number = 1             # 要簽署的工作表(第一個工作表)
        options.password = "1234567890"     # 證書密碼

        # 將簽署者信息添加到簽名元數據
        options.appearance = appearances.DigitalSignatureAppearance(
            "John Smith",                   # 簽署者姓名
            "Title",                        # 簽署者頭銜
            "jonny@test.com"                # 簽署者電子郵件
        )

        # 應用簽名並保存文件
        result = signature.sign(output_file_path, options)

        # 顯示成功消息,兩個單獨的日誌條目
        print(f"\nExcel 文件簽署成功。")
        print(f"總簽名應用: {len(result.succeeded)}")
        print(f"簽署後的 Excel 文件保存於 {output_file_path}。")

實施條形碼簽名以提高文件安全性

條形碼簽名提供額外的文件驗證層,允許快速掃描和驗證。此方法特別適合需要在實體環境中驗證的文件。

# 此函數將可掃描的條形碼簽名添加到文件
# 適合庫存文件、證書或追蹤文件
def add_barcode_signature():
    # 導入所需庫
    import groupdocs.signature as gs
    import groupdocs.signature.domain as gsd
    import groupdocs.signature.options as gso

    # 定義文件路徑
    sample_file_path = "sample.xlsx"        # 源文件
    output_file_path = "barcode_signed.xlsx"  # 保存簽署文件的位置

    # 打開文件進行簽署
    with gs.Signature(sample_file_path) as signature:
        # 創建條形碼簽名選項,包含要編碼的文本
        options = gso.BarcodeSignOptions("GroupDocs.Signature")

        # 設置條形碼類型 - CODE128 使用廣泛且可靠
        options.encode_type = gsd.BarcodeTypes.CODE128

        # 配置條形碼外觀和位置
        options.left = 50                   # 頁面上的 X 位置
        options.top = 150                   # 頁面上的 Y 位置
        options.width = 100                 # 條形碼寬度
        options.height = 50                 # 條形碼高度

        # 應用簽名並保存文件
        result = signature.sign(output_file_path, options)

        # 顯示成功消息,兩個單獨的日誌條目
        print(f"\n文件已成功簽署條形碼!")
        print(f"總簽名應用: {len(result.succeeded)}")
        print(f"文件保存於 {output_file_path}。")

結果輸出:

可掃描條形碼簽名示例,用於文件驗證和驗證

創建 QR 碼簽名以進行移動驗證

QR 碼適合移動驗證情況,允許任何擁有智能手機的人快速驗證文件的真實性或訪問與文件相關聯的其他信息。

# 此函數將 QR 碼簽名添加到文件
# 適合移動驗證和鏈接到在線資源
def add_qrcode_signature():
    # 導入所需庫
    import groupdocs.signature as gs
    import groupdocs.signature.domain as gsd
    import groupdocs.signature.options as gso

    # 定義文件路徑
    sample_file_path = "sample.pdf"        # 源文件
    output_file_path = "qrcode_signed.pdf"  # 保存簽署文件的位置

    # 打開文件進行簽署
    with gs.Signature(sample_file_path) as signature:
        # 創建 QR 碼選項,包含要編碼的數據
        # 這可以是驗證 URL、文件 ID 或其他數據
        options = gso.QrCodeSignOptions("GroupDocs.Signature")

        # 設置 QR 碼類型 - 標準 QR 碼最廣泛支持
        options.encode_type = gsd.QrCodeTypes.QR

        # 配置 QR 碼外觀和位置
        options.left = 50                   # 頁面上的 X 位置
        options.top = 150                   # 頁面上的 Y 位置
        options.width = 100                 # QR 碼寬度
        options.height = 100                # QR 碼高度
        options.rotation_angle = 45         # 可選:旋轉 QR 碼

        # 應用簽名並保存文件
        result = signature.sign(output_file_path, options)

        # 顯示成功消息,兩個單獨的日誌條目
        print(f"\n文件已成功簽署 QR 碼!")
        print(f"總簽名應用: {len(result.succeeded)}")
        print(f"文件保存於 {output_file_path}。")

結果輸出:

QR 碼簽名,用於通過智能手機進行移動驗證和即時文件驗證

電子簽名的安全最佳實踐

在應用程序中實施電子簽名時,請考慮以下安全最佳實踐:

  1. 證書管理:安全存儲證書,並具有適當的訪問控制
  2. 密碼保護:使用強密碼訪問證書
  3. 時間戳:包括時間戳服務以證明文件何時簽署
  4. 審計跡跡:維護所有簽名活動的日誌
  5. 驗證:實施定期簽名驗證檢查
  6. 多因素驗證:在簽署之前要求額外驗證
  7. 合規性:確保您的實施符合行業法規(ESIGN、eIDAS 等)

📑 結論與下一步

使用 Python 和 GroupDocs.Signature 的電子簽名提供:

  • 快速文件簽署和處理
  • 高安全性驗證和防篡改
  • 所有操作系統的跨平台兼容性
  • 支持多種文件格式(PDF、Word、Excel 等)
  • 移動友好的 QR 碼驗證選項
  • 簡化的文件工作流程和批准流程

立即開始轉變您的文件工作流程,通過使用 Python 實施安全、高效的電子簽名!

免費試用

準備好深入了解嗎?獲取 GroupDocs.Signature for Python via .NET 的免費試用:

額外資源與文檔