PNG JPG BMP TIFF PDF
Aspose.PDF  for Python

Substituir Assinatura em PDF no Python SDK

Substitua uma Assinatura em Documento PDF usando Cloud Python SDK.

Get Started

Como substituir Assinatura em PDF via Cloud Python SDK

Para substituir a assinatura em PDF, usaremos Aspose.PDF Cloud Python SDK. Este SDK Cloud auxilia programadores Python a desenvolver aplicativos criadores, anotadores, editores e conversores de PDF baseados em nuvem usando a linguagem de programação Python via Aspose.PDF REST API. Basta criar uma conta em Aspose for Cloud e obter suas informações de aplicativo. Assim que tiver o App SID & key, você está pronto para usar o Aspose.PDF Cloud Python SDK. Se o pacote python estiver hospedado no Github, você pode instalar diretamente do Github:

Instalação do Github


     
    pip install git+https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-python.git

Comando do Console de Gerenciador de Pacotes

     
    pip install asposepdfcloud

Passos para substituir assinatura em PDF via Python SDK

Os desenvolvedores do Aspose.PDF Cloud podem facilmente carregar e substituir assinaturas em PDF com apenas algumas linhas de código.

  1. Instale Python SDK.
  2. Carregue documentos PDF na nuvem e configure para baixar documentos processados.
  3. Adicione uma nova assinatura ao documento PDF.
 

Substituir Assinatura em PDF usando Python


    import shutil
    import json
    import logging
    from pathlib import Path
    from asposepdfcloud import ApiClient, PdfApi, Signature, SignatureType, SignatureField, Rectangle

    # Configure logging
    logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")


    class Config:
        """Configuration parameters."""
        CREDENTIALS_FILE = Path(r".../../../credentials.json")
        LOCAL_FOLDER = Path(r"C:\Samples")
        PDF_DOCUMENT_NAME = "sample.pdf"
        LOCAL_RESULT_DOCUMENT_NAME = "output_sample.pdf"
        LOCAL_SIGNATURE_PATH = Path(r"C:\Samples\Signatures\3")
        SIGNATURE_PFX = "signature.pfx"
        SIGNATURE_FORM_FIELD = 'Signature_1'
        SIGNATURE_PASSWORD='Password'
        SIGNATURE_CONTACT='Contact'
        SIGNATURE_LOCATION='Location'
        SIGNATURE_AUTHORITY='Issuer'
        SIGNATURE_DATE='04/19/2025 12:15:00.000 PM'
        SIGNATURE_RECT = Rectangle(100, 100, 500, 500)


    class PdfSignatures:
        """Class for managing PDF signatures using Aspose PDF Cloud API."""
        def __init__(self, credentials_file: Path = Config.CREDENTIALS_FILE):
            self.pdf_api = None
            self._init_api(credentials_file)

        def _init_api(self, credentials_file: Path):
            """Initialize the API client."""
            try:
                with credentials_file.open("r", encoding="utf-8") as file:
                    credentials = json.load(file)
                    api_key, app_id = credentials.get("key"), credentials.get("id")
                    if not api_key or not app_id:
                        raise ValueError("init_api(): Error: Missing API keys in the credentials file.")
                    self.pdf_api = PdfApi(ApiClient(api_key, app_id))
            except (FileNotFoundError, json.JSONDecodeError, ValueError) as e:
                logging.error(f"init_api(): Failed to load credentials: {e}")

        def upload_file(self, local_path: Path, fileName: str):
            """ Upload a local fileName to the Aspose Cloud server. """
            if self.pdf_api:
                file_path = local_path / fileName
                try:
                    self.pdf_api.upload_file(fileName, str(file_path))
                    logging.info(f"upload_file(): File '{fileName}' uploaded successfully.")
                except Exception as e:
                    logging.error(f"upload_document(): Failed to upload file: {e}")

        def upload_document(self):
            """ Upload a PDF document to the Aspose Cloud server. """
            self.upload_file(Config.LOCAL_FOLDER, Config.PDF_DOCUMENT_NAME)


        def download_result(self):
            """Download the processed PDF document from the Aspose Cloud server."""
            if self.pdf_api:
                try:
                    temp_file = self.pdf_api.download_file(Config.PDF_DOCUMENT_NAME)
                    local_path = Config.LOCAL_FOLDER / Config.LOCAL_RESULT_DOCUMENT_NAME
                    shutil.move(temp_file, str(local_path))
                    logging.info(f"download_result(): File successfully downloaded: {local_path}")
                except Exception as e:
                    logging.error(f"download_result(): Failed to download file: {e}")

        def replace_signature(self):
            """Append a new signature to the PDF document."""
            if self.pdf_api:
                
                signature = Signature(
                    signature_path=Config.SIGNATURE_PFX,
                    signature_type=SignatureType.PKCS7,
                    password=Config.SIGNATURE_PASSWORD,
                    contact=Config.SIGNATURE_CONTACT,
                    location=Config.SIGNATURE_LOCATION,
                    visible=True,
                    rectangle=Config.SIGNATURE_RECT,
                    form_field_name=Config.SIGNATURE_FORM_FIELD,
                    authority=Config.SIGNATURE_AUTHORITY,
                    date=Config.SIGNATURE_DATE,
                    show_properties=False)
                
                field = SignatureField(page_index=1)
                field.signature = signature
                field.partial_name = 'sign1'
                field.rect = Config.SIGNATURE_RECT

                try:
                    response = self.pdf_api.put_signature_field(Config.PDF_DOCUMENT_NAME, Config.SIGNATURE_FORM_FIELD, field)
                    if response.code == 200:
                        logging.info(f"append_signature(): Signature '{Config.SIGNATURE_CONTACT}' successfully added to the document.")
                    else:
                        logging.error(f"append_signature(): Failed to add signature to the document. Response code: {response.code}")
                except Exception as e:
                    logging.error(f"append_signature(): Error while adding signature: {e}")


    if __name__ == "__main__":
        pdf_sign = PdfSignatures()
        pdf_sign.upload_document()
        pdf_sign.upload_file(Config.LOCAL_SIGNATURE_PATH, Config.SIGNATURE_PFX)
        pdf_sign.replace_signature()
        pdf_sign.download_result()
 

Trabalhar com Assinatura em PDF

Substituir uma assinatura em um PDF é necessário quando a assinatura original se torna desatualizada, incorreta ou inválida. Este processo garante que o documento reflita as informações mais precisas e autorizadas. Razões comuns para substituição incluem atualização de credenciais do assinante, correção de erros nos detalhes da assinatura, reassinatura após alterações no documento ou troca para um certificado digital mais forte para maior segurança e conformidade. Substituir a assinatura ajuda a manter a autenticidade, integridade e validade legal do documento. Substitua Assinatura em documentos PDF com Aspose.PDF Cloud Python SDK.

Com nossa biblioteca Python você pode:

  • Combinar documentos PDF.
  • Dividir Arquivos PDF.
  • Converter PDF para outros formatos, e vice-versa.
  • Manipular Anotações.
  • Trabalhar com Imagens em PDF, etc.
  • Você pode experimentar nosso App gratuito para testar a funcionalidade online.