@@ -18,42 +18,42 @@ def __init__(self, item: ParsedResultItem):
1818 self .code_type = item .get_code_type ()
1919 if self .code_type != "AAMVA_DL_ID" and self .code_type != "AAMVA_DL_ID_WITH_MAG_STRIPE" and self .code_type != "SOUTH_AFRICA_DL" :
2020 return
21- if item .get_field_value ("licenseNumber" ) != None and item .get_field_validation_status ("licenseNumber" ) != EnumValidationStatus .VS_FAILED :
21+ if item .get_field_value ("licenseNumber" ) != None and item .get_field_validation_status ("licenseNumber" ) != EnumValidationStatus .VS_FAILED :
2222 self .license_number = item .get_field_value ("licenseNumber" )
23-
23+
2424 if item .get_field_value ("AAMVAVersionNumber" ) != None and item .get_field_validation_status ("AAMVAVersionNumber" ) != EnumValidationStatus .VS_FAILED :
2525 self .version_number = item .get_field_value ("AAMVAVersionNumber" )
26-
26+
2727 if item .get_field_value ("vehicleClass" ) != None and item .get_field_validation_status ("vehicleClass" ) != EnumValidationStatus .VS_FAILED :
2828 self .vehicle_class = item .get_field_value ("vehicleClass" )
29-
29+
3030 if item .get_field_value ("lastName" ) != None and item .get_field_validation_status ("lastName" ) != EnumValidationStatus .VS_FAILED :
3131 self .last_name = item .get_field_value ("lastName" )
32-
32+
3333 if item .get_field_value ("surName" ) != None and item .get_field_validation_status ("surName" ) != EnumValidationStatus .VS_FAILED :
3434 self .last_name = item .get_field_value ("surName" )
35-
35+
3636 if item .get_field_value ("givenName" ) != None and item .get_field_validation_status ("givenName" ) != EnumValidationStatus .VS_FAILED :
3737 self .given_name = item .get_field_value ("givenName" )
38-
38+
3939 if item .get_field_value ("fullName" ) != None and item .get_field_validation_status ("fullName" ) != EnumValidationStatus .VS_FAILED :
4040 self .full_name = item .get_field_value ("fullName" )
41-
41+
4242 if item .get_field_value ("sex" ) != None and item .get_field_validation_status ("sex" ) != EnumValidationStatus .VS_FAILED :
4343 self .gender = item .get_field_value ("sex" )
44-
44+
4545 if item .get_field_value ("gender" ) != None and item .get_field_validation_status ("gender" ) != EnumValidationStatus .VS_FAILED :
4646 self .gender = item .get_field_value ("gender" )
47-
47+
4848 if item .get_field_value ("birthDate" ) != None and item .get_field_validation_status ("birthDate" ) != EnumValidationStatus .VS_FAILED :
4949 self .birth_date = item .get_field_value ("birthDate" )
50-
50+
5151 if item .get_field_value ("issuedDate" ) != None and item .get_field_validation_status ("issuedDate" ) != EnumValidationStatus .VS_FAILED :
5252 self .issued_date = item .get_field_value ("issuedDate" )
53-
53+
5454 if item .get_field_value ("expirationDate" ) != None and item .get_field_validation_status ("expirationDate" ) != EnumValidationStatus .VS_FAILED :
5555 self .expiration_date = item .get_field_value ("expirationDate" )
56-
56+
5757 if self .full_name is None :
5858 self .full_name = (self .last_name or "" ) + ((' ' + self .given_name ) if self .last_name and self .given_name else (self .given_name or '' ))
5959
@@ -75,7 +75,7 @@ def print_results(result: ParsedResult) -> None:
7575 tag = result .get_original_image_tag ()
7676 if isinstance (tag , FileImageTag ):
7777 print ("File:" , tag .get_file_path ())
78- if result .get_error_code () != EnumErrorCode .EC_OK :
78+ if result .get_error_code () != EnumErrorCode .EC_OK and result . get_error_code () != EnumErrorCode . EC_UNSUPPORTED_JSON_KEY_WARNING :
7979 print ("Error:" , result .get_error_string ())
8080 else :
8181 items = result .get_items ()
@@ -85,7 +85,7 @@ def print_results(result: ParsedResult) -> None:
8585 print (dlResult .to_string ())
8686
8787if __name__ == '__main__' :
88-
88+
8989 print ("**********************************************************" )
9090 print ("Welcome to Dynamsoft Capture Vision - DriverLicense Sample" )
9191 print ("**********************************************************" )
@@ -103,7 +103,7 @@ def print_results(result: ParsedResult) -> None:
103103 ">> Input your image full path:\n "
104104 ">> 'Enter' for sample image or 'Q'/'q' to quit\n "
105105 ).strip ('\' "' )
106-
106+
107107 if image_path .lower () == "q" :
108108 sys .exit (0 )
109109
@@ -113,13 +113,21 @@ def print_results(result: ParsedResult) -> None:
113113 if not os .path .exists (image_path ):
114114 print ("The image path does not exist." )
115115 continue
116- result = cvr_instance .capture (image_path , "ReadDriversLicense" )
117- if result .get_error_code () != EnumErrorCode .EC_OK :
118- print ("Error:" , result .get_error_code (), result .get_error_string ())
116+ result_array = cvr_instance .capture_multi_pages (image_path , "ReadDriversLicense" )
117+ results = result_array .get_results ()
118+ if results is None or len (results ) == 0 :
119+ print ("No results." )
119120 else :
120- parsed_result = result .get_parsed_result ()
121- if parsed_result is None or len (parsed_result .get_items ()) == 0 :
122- print ("No parsed results." )
123- else :
124- print_results (parsed_result )
121+ for i , result in enumerate (results ):
122+ if result .get_error_code () == EnumErrorCode .EC_UNSUPPORTED_JSON_KEY_WARNING :
123+ print ("Warning:" , result .get_error_code (), result .get_error_string ())
124+ elif result .get_error_code () != EnumErrorCode .EC_OK :
125+ print ("Error:" , result .get_error_code (), result .get_error_string ())
126+ parsed_result = result .get_parsed_result ()
127+
128+ if parsed_result is None or len (parsed_result .get_items ()) == 0 :
129+ print ("Page-" + str (i + 1 ), "No parsed results." )
130+ else :
131+ print_results (parsed_result )
132+ print ()
125133 input ("Press Enter to quit..." )
0 commit comments