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}에 저장되었습니다.")

결과 출력:

스마트폰을 사용하여 모바일 검증 및 문서 인증

전자 서명 보안 모범 사례

애플리케이션에 전자 서명을 구현할 때 다음 보안 모범 사례를 고려하세요:

  1. 인증서 관리: 적절한 액세스 제어를 사용하여 인증서를 안전하게 저장
  2. 비밀번호 보호: 인증서 액세스에 강력한 비밀번호 사용
  3. 시간 스탬프: 문서가 서명된 시점을 증명하기 위해 시간 스탬프 서비스 포함
  4. 감사 로그: 모든 서명 활동의 로그 유지
  5. 검증: 정기적인 서명 검증 확인 구현
  6. 다중 요인 인증: 서명 전에 추가 검증 요구
  7. 규정 준수: 산업 규정(ESIGN, eIDAS 등) 준수

📑 결론 및 다음 단계

Python과 GroupDocs.Signature를 사용하여 전자 서명하는 것은 다음과 같은 이점을 제공합니다:

  • 빠른 문서 서명 및 처리
  • 높은 보안 검증 및 변조 방지
  • 모든 운영 체제에 대한 크로스 플랫폼 호환성
  • 여러 문서 형식 지원(PDF, Word, Excel 등)
  • QR 코드를 통한 모바일 친화적인 검증 옵션
  • 간소화된 문서 워크플로 및 승인 프로세스

Python을 사용하여 안전하고 효율적인 전자 서명을 구현하여 문서 워크플로를 오늘 바로 변혁하세요!

무료 체험 시작

시작해보세요! GroupDocs.Signature for Python via .NET의 무료 체험을 받으세요:

추가 리소스 및 문서