Verify Text Signatures in Document

GroupDocs.Signature for Python via .NET provides functionality to verify text signatures in documents. This guide demonstrates how to verify text signatures using Python.

Basic Usage Example

Here’s a simple example showing how to verify text signatures in a document. The is_valid property of the returned VerificationResult is True when the document contains text signatures that match the TextVerifyOptions:

from groupdocs.signature import Signature
from groupdocs.signature.domain import TextMatchType
from groupdocs.signature.options import TextVerifyOptions


def verify_text_signatures():
    with Signature("signed.pdf") as signature:
        options = TextVerifyOptions()
        options.all_pages = True  # this value is set by default
        options.text = "John Smith"
        options.match_type = TextMatchType.CONTAINS

        result = signature.verify(options)

        if result.is_valid:
            print(f"Document was verified successfully: {len(result.succeeded)} matching text signature(s).")
        else:
            print("Document failed verification process.")


if __name__ == "__main__":
    verify_text_signatures()

signed.pdf is the sample file used in this example. Click here to download it.

Document was verified successfully: 1 matching text signature(s).

Download full output

Advanced Usage Example

Here’s an example showing more advanced verification options: an exact text match, the TextSignatureImplementation to check (NATIVE, IMAGE, ANNOTATION, STICKER, FORM_FIELD or WATERMARK; NATIVE is the default) and the page to verify. The succeeded property of the result lists the text signatures that passed verification:

from groupdocs.signature import Signature
from groupdocs.signature.domain import TextMatchType, TextSignatureImplementation
from groupdocs.signature.options import TextVerifyOptions


def verify_text_signature_exact_match():
    with Signature("signed.pdf") as signature:
        options = TextVerifyOptions()
        options.text = "John Smith"
        options.match_type = TextMatchType.EXACT  # require exact match
        # Check text signatures that are part of the page content
        options.signature_implementation = TextSignatureImplementation.NATIVE
        # Verify the first page only (page numbers start at 1)
        options.all_pages = False
        options.page_number = 1

        result = signature.verify(options)

        print(f"Document is valid: {result.is_valid}")
        for text_signature in result.succeeded:
            print(f"Verified {text_signature.signature_implementation.name} text signature '{text_signature.text}'")


if __name__ == "__main__":
    verify_text_signature_exact_match()

signed.pdf is the sample file used in this example. Click here to download it.

Document is valid: True
Verified NATIVE text signature 'John Smith'

Download full output

More Resources

GitHub Examples

You may easily run the code above and see the feature in action in our GitHub examples:

Free Online Apps

Along with the full-featured Python library, we provide simple but powerful free online apps.

To verify PDF, Word, Excel, PowerPoint, and other documents you can use the online apps from the GroupDocs.Signature App Product Family.

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.