Verify QR Code Signatures in Document

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

Basic Usage Example

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

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


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

        result = signature.verify(options)

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


if __name__ == "__main__":
    verify_qr_codes()

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

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

Download full output

Advanced Usage Example

Here’s an example showing more advanced verification options: an exact text match, the QR code type (QrCodeTypes) and the page to verify. The succeeded property of the result lists the QR code signatures that passed verification:

from groupdocs.signature import Signature
from groupdocs.signature.domain import QrCodeTypes, TextMatchType
from groupdocs.signature.options import QrCodeVerifyOptions


def verify_qr_codes_exact_match():
    with Signature("signed.pdf") as signature:
        options = QrCodeVerifyOptions()
        options.text = "John Smith"
        options.match_type = TextMatchType.EXACT  # require exact match
        # If the encode type is not set, any QR code type is accepted
        options.encode_type = QrCodeTypes.QR
        # 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 qr_code in result.succeeded:
            print(f"Verified {qr_code.encode_type.type_name} code '{qr_code.text}'")


if __name__ == "__main__":
    verify_qr_codes_exact_match()

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

Document is valid: True
Verified QR code '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.