E-Sign Documents with Python

Введение в цифровую подпись документов

Электронные подписи революционизировали способ, которым компании и частные лица обрабатывают документооборот. Больше нет необходимости печатать, подписывать и сканировать документы - теперь вы можете подписывать их цифровым способом всего несколькими строками кода на Python!

Это всестороннее руководство проведет вас через процесс создания электронных подписей для PDF, Word и Excel документов с использованием GroupDocs.Signature for Python via .NET. Будь то создание системы управления документами, автоматизация бизнес-процессов или разработка безопасной платформы для подписи, это руководство поможет вам.

Понимание электронных подписей и их преимуществ

Электронная подпись - это не просто цифровое представление подписи от руки. Это безопасный метод проверки подлинности документа и идентификации подписанта. Основные преимущества включают:

  • Юридическая сила: Признана в большинстве стран мира
  • Безопасность: Криптографически защищена от несанкционированного доступа
  • Эффективность: Подписывайте документы онлайн мгновенно из любого места
  • Отслеживаемость: Подробные аудитные журналы процессов подписи
  • Экономичность: Устраняет необходимость в бумаге, печати и доставке
  • Интеграция: Легко встраивается в существующие документообороты

🛠️ Настройка среды 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

📝 Как подписать PDF документы с помощью Python

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 таблицы часто содержат важные финансовые данные, требующие аутентификации. Вот как безопасно подписать Excel файлы с помощью Python для проверки их подлинности и предотвращения несанкционированных изменений.

# Эта функция демонстрирует, как цифровым образом подписать электронную таблицу 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 проверки, идентификатор документа или другие данные
        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:

Дополнительные ресурсы и документация