This example shows how to search for Text e-signatures in a document using Python:
importgroupdocs.signatureassignaturefromgroupdocs.signature.optionsimportTextSearchOptionsfromgroupdocs.signature.domainimportTextMatchType# Initialize signaturewithsignature.Signature("sample.pdf")assign:# Setup search optionssearch_options=TextSearchOptions()# Search only page with specified number (None for all pages)search_options.page_number=None# Specify as True to search all pages of a documentsearch_options.all_pages=True# Specify text to searchsearch_options.text="JS_"# Specify text match typesearch_options.match_type=TextMatchType.CONTAINS# Search documentsignatures=sign.search(search_options)# Output signaturesfortext_signatureinsignatures:print(f"Found Text signature: {text_signature.signature_implementation} "f"with text {text_signature.text}.")print(f"Location at {text_signature.left}-{text_signature.top}. "f"Size is {text_signature.width}x{text_signature.height}.")
Advanced Search Options
Here’s an example showing how to use more advanced search options:
importgroupdocs.signatureassignaturefromgroupdocs.signature.optionsimportTextSearchOptionsfromgroupdocs.signature.domainimportTextMatchType# Initialize signaturewithsignature.Signature("sample.pdf")assign:# Setup search optionssearch_options=TextSearchOptions()# Search on specific pagessearch_options.page_number=1search_options.all_pages=False# Search for text with specific match typesearch_options.text="John"search_options.match_type=TextMatchType.EXACT# Search with specific signature implementationsearch_options.signature_implementation=signature.TextSignatureImplementation.NATIVE# Search documentsignatures=sign.search(search_options)# Process found signaturesfortext_signatureinsignatures:print(f"Found Text signature: {text_signature.text}")print(f"Page number: {text_signature.page_number}")print(f"Position: X={text_signature.left}, Y={text_signature.top}")print(f"Size: {text_signature.width}x{text_signature.height}")print(f"Font: {text_signature.font.family_name}, Size: {text_signature.font.size}")print(f"Color: {text_signature.fore_color}")
More Resources
GitHub Examples
You may easily run the code above and see the feature in action in our GitHub examples: