Informações da Assinatura

Aspose.PDF for Python via .NET fornece o PdfFileSignature fachada para inspeção de assinaturas digitais em documentos PDF. Após um documento ter sido assinado, você pode usá-la para ler os nomes das assinaturas e recuperar metadados como o nome do assinante, informações de contato, hora da assinatura, motivo e localização.

Este exemplo demonstra quatro tarefas comuns de informações de assinatura:

  1. Listar todos os nomes de assinatura em um PDF assinado.
  2. Ler detalhes do assinante para uma assinatura selecionada.
  3. Obtenha a data e hora da assinatura.
  4. Leia o motivo e a localização da assinatura.

Obtenha nomes de assinatura

Use este método quando um PDF pode conter uma ou mais assinaturas e você deseja inspecionar quais entradas de assinatura estão disponíveis. O exemplo abre o documento e imprime a lista retornada por get_sign_names().

import aspose.pdf.facades as pdf_facades
import sys
from os import path


def get_signature_names(infile):
    pdf_signature = create_pdf_file_signature(infile)
    try:
        signature_names = list_signature_names(pdf_signature)
        print(f"Signature Names: {signature_names}")
    finally:
        pdf_signature.close()

Obter detalhes do assinante

Depois de conhecer o nome da assinatura, você pode recuperar metadados específicos do assinante. Este exemplo lê o nome do assinante e as informações de contato da primeira assinatura disponível no documento.

import aspose.pdf.facades as pdf_facades
import sys
from os import path


def get_signer_details(infile):
    pdf_signature = create_pdf_file_signature(infile)
    try:
        sign_name = require_signature_name(pdf_signature)
        signer_name = pdf_signature.get_signer_name(sign_name)
        contact_info = pdf_signature.get_contact_info(sign_name)
        print(
            f"Signer Details for '{sign_name}': "
            f"signer_name={signer_name}, contact_info={contact_info}"
        )
    finally:
        pdf_signature.close()

Obter data e hora da assinatura

Usar get_date_time() para determinar quando uma assinatura específica foi aplicada. Isso é útil para auditoria e para exibir o histórico de assinaturas nos fluxos de trabalho de documentos.

import aspose.pdf.facades as pdf_facades
import sys
from os import path


def get_signature_date_and_time(infile):
    pdf_signature = create_pdf_file_signature(infile)
    try:
        sign_name = require_signature_name(pdf_signature)
        signature_date = pdf_signature.get_date_time(sign_name)
        print(f"Signature Date and Time for '{sign_name}': {signature_date}")
    finally:
        pdf_signature.close()

Obter motivo e localização da assinatura

As assinaturas digitais também podem armazenar metadados descritivos, como o motivo e a localização da assinatura. Este exemplo recupera ambos os valores para a assinatura selecionada e os imprime juntos.

import aspose.pdf.facades as pdf_facades
import sys
from os import path


def get_signature_reason_and_location(infile):
    pdf_signature = create_pdf_file_signature(infile)
    try:
        sign_name = require_signature_name(pdf_signature)
        signature_reason = pdf_signature.get_reason(sign_name)
        signature_location = pdf_signature.get_location(sign_name)
        print(
            f"Signature Reason and Location for '{sign_name}': "
            f"reason={signature_reason}, location={signature_location}"
        )
    finally:
        pdf_signature.close()