GroupDocs.Signature provides the ability to search for digital electronic signatures in documents. Digital signatures provide a way to verify the authenticity and integrity of a document by using cryptographic techniques.
How to Search for Digital Signatures
The Signature class provides the Search method which allows you to search for digital signatures in documents. Here’s how to use it:
Create a new instance of the Signature class and pass the source document path as a parameter.
Call the Search method of the Signature class instance and pass the search options to it.
Process the search results.
Here’s an example of how to search for digital signatures in a document:
fromgroupdocs.signatureimportSignaturefromgroupdocs.signature.optionsimportDigitalSearchOptionsfromgroupdocs.signature.domainimportDigitalSignature# Initialize Signature with input documentwithSignature("sample.pdf")assignature:# Create search optionssearch_options=DigitalSearchOptions()# Search for signaturesresult=signature.search(search_options)# Process found signaturesprint(f"Found {len(result)} digital signatures")fordigital_signatureinresult:print(f"Subject: {digital_signature.subject}")print(f"Issuer: {digital_signature.issuer}")print(f"Valid From: {digital_signature.valid_from}")print(f"Valid To: {digital_signature.valid_to}")
Advanced Search Options
You can customize the search process by setting specific options:
fromgroupdocs.signatureimportSignaturefromgroupdocs.signature.optionsimportDigitalSearchOptionsfromgroupdocs.signature.domainimportDigitalSignature# Initialize Signature with input documentwithSignature("sample.pdf")assignature:# Create search optionssearch_options=DigitalSearchOptions()# Set search criteriasearch_options.subject="John Doe"# Search for specific subjectsearch_options.issuer="Certificate Authority"# Search for specific issuer# Search for signaturesresult=signature.search(search_options)# Process found signaturesprint(f"Found {len(result)} digital signatures")fordigital_signatureinresult:print(f"Subject: {digital_signature.subject}")print(f"Issuer: {digital_signature.issuer}")print(f"Valid From: {digital_signature.valid_from}")print(f"Valid To: {digital_signature.valid_to}")
Additional Resources
GitHub Examples
You may easily run the code above and see the feature in action in our examples: