@regulaforensics/cordova-plugin-document-reader-api 6.6.0 → 6.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,8 +16,8 @@
16
16
  "cordova-android": "^10.1.1",
17
17
  "cordova-ios": "^6.2.0",
18
18
  "cordova-plugin-add-swift-support": "^2.0.2",
19
- "@regulaforensics/cordova-plugin-document-reader-api": "6.6.0",
20
- "@regulaforensics/cordova-plugin-document-reader-core-fullrfid": "6.6.0",
19
+ "@regulaforensics/cordova-plugin-document-reader-api": "6.7.0",
20
+ "@regulaforensics/cordova-plugin-document-reader-core-fullrfid": "6.7.0",
21
21
  "cordova-plugin-file": "^6.0.2",
22
22
  "cordova-plugin-image-picker": "^1.1.3",
23
23
  "cordova-plugin-android-permissions": "1.1.0",
@@ -242,12 +242,23 @@ var app = {
242
242
  }
243
243
 
244
244
  function displayResults(results) {
245
- document.getElementById("status").innerHTML = results.getTextFieldValueByType({ fieldType: Enum.eVisualFieldType.FT_SURNAME_AND_GIVEN_NAMES })
246
- document.getElementById("status").style.backgroundColor = "green"
247
- if (results.getGraphicFieldImageByType({ fieldType: Enum.eGraphicFieldType.GF_DOCUMENT_IMAGE }) != null)
248
- document.getElementById("documentImage").src = "data:image/png;base64," + results.getGraphicFieldImageByType({ fieldType: Enum.eGraphicFieldType.GF_DOCUMENT_IMAGE })
249
- if (results.getGraphicFieldImageByType({ fieldType: Enum.eGraphicFieldType.GF_PORTRAIT }) != null)
250
- document.getElementById("portraitImage").src = "data:image/png;base64," + results.getGraphicFieldImageByType({ fieldType: Enum.eGraphicFieldType.GF_PORTRAIT })
245
+ if(results == null) return
246
+
247
+ DocumentReader.getTextFieldValueByType(results, Enum.eVisualFieldType.FT_SURNAME_AND_GIVEN_NAMES, function (value) {
248
+ document.getElementById("status").style.backgroundColor = "green"
249
+ document.getElementById("status").innerHTML = value
250
+ this.setState({ fullName: value })
251
+ }, function (error) { console.log(error) })
252
+
253
+ DocumentReader.getGraphicFieldImageByType(results, Enum.eGraphicFieldType.GF_DOCUMENT_IMAGE, function (value) {
254
+ if(value != null)
255
+ document.getElementById("documentImage").src = "data:image/png;base64," + value
256
+ }, function (error) { console.log(error) })
257
+
258
+ DocumentReader.getGraphicFieldImageByType(results, Enum.eGraphicFieldType.GF_PORTRAIT, function (value) {
259
+ if(value != null)
260
+ document.getElementById("portraitImage").src = "data:image/png;base64," + value
261
+ }, function (error) { console.log(error) })
251
262
  }
252
263
 
253
264
  function clearResults() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@regulaforensics/cordova-plugin-document-reader-api",
3
- "version": "6.6.0",
3
+ "version": "6.7.0",
4
4
  "description": "Cordova plugin for reading and validation of identification documents (API framework)",
5
5
  "cordova": {
6
6
  "id": "@regulaforensics/cordova-plugin-document-reader-api",
package/plugin.xml CHANGED
@@ -1,5 +1,5 @@
1
1
  <?xml version='1.0' encoding='utf-8'?>
2
- <plugin id="cordova-plugin-document-reader-api" version="6.6.0"
2
+ <plugin id="cordova-plugin-document-reader-api" version="6.7.0"
3
3
  xmlns="http://apache.org/cordova/ns/plugins/1.0">
4
4
  <name>DocumentReaderApi</name>
5
5
  <description>Cordova plugin Document reader api</description>
@@ -26,7 +26,7 @@
26
26
  <config>
27
27
  </config>
28
28
  <pods>
29
- <pod name="DocumentReader" spec="~> 6.6.2753" />
29
+ <pod name="DocumentReader" spec="~> 6.7.2848" />
30
30
  </pods>
31
31
  </podspec>
32
32
  </platform>
@@ -32,7 +32,9 @@ import com.regula.documentreader.api.internal.params.ImageInputParam;
32
32
  import com.regula.documentreader.api.params.rfid.PKDCertificate;
33
33
  import com.regula.documentreader.api.params.rfid.authorization.PAResourcesIssuer;
34
34
  import com.regula.documentreader.api.params.rfid.authorization.TAChallenge;
35
+ import com.regula.documentreader.api.results.DocumentReaderGraphicField;
35
36
  import com.regula.documentreader.api.results.DocumentReaderResults;
37
+ import com.regula.documentreader.api.results.DocumentReaderTextField;
36
38
  import com.regula.documentreader.api.internal.parser.DocReaderResultsJsonParser;
37
39
 
38
40
  import org.apache.cordova.CallbackContext;
@@ -394,6 +396,57 @@ public class DocumentReader extends CordovaPlugin {
394
396
  case "recognizeImagesWithImageInputs":
395
397
  recognizeImagesWithImageInputs(callback, args(0));
396
398
  break;
399
+ case "getTextFieldValueByType":
400
+ getTextFieldValueByType(callback, args(0), args(1));
401
+ break;
402
+ case "getTextFieldValueByTypeLcid":
403
+ getTextFieldValueByTypeLcid(callback, args(0), args(1), args(2));
404
+ break;
405
+ case "getTextFieldValueByTypeSource":
406
+ getTextFieldValueByTypeSource(callback, args(0), args(1), args(2));
407
+ break;
408
+ case "getTextFieldValueByTypeLcidSource":
409
+ getTextFieldValueByTypeLcidSource(callback, args(0), args(1), args(2), args(3));
410
+ break;
411
+ case "getTextFieldValueByTypeSourceOriginal":
412
+ getTextFieldValueByTypeSourceOriginal(callback, args(0), args(1), args(2), args(3));
413
+ break;
414
+ case "getTextFieldValueByTypeLcidSourceOriginal":
415
+ getTextFieldValueByTypeLcidSourceOriginal(callback, args(0), args(1), args(2), args(3), args(4));
416
+ break;
417
+ case "getTextFieldByType":
418
+ getTextFieldByType(callback, args(0), args(1));
419
+ break;
420
+ case "getTextFieldByTypeLcid":
421
+ getTextFieldByTypeLcid(callback, args(0), args(1), args(2));
422
+ break;
423
+ case "getGraphicFieldByTypeSource":
424
+ getGraphicFieldByTypeSource(callback, args(0), args(1), args(2));
425
+ break;
426
+ case "getGraphicFieldByTypeSourcePageIndex":
427
+ getGraphicFieldByTypeSourcePageIndex(callback, args(0), args(1), args(2), args(3));
428
+ break;
429
+ case "getGraphicFieldByTypeSourcePageIndexLight":
430
+ getGraphicFieldByTypeSourcePageIndexLight(callback, args(0), args(1), args(2), args(3), args(4));
431
+ break;
432
+ case "getGraphicFieldImageByType":
433
+ getGraphicFieldImageByType(callback, args(0), args(1));
434
+ break;
435
+ case "getGraphicFieldImageByTypeSource":
436
+ getGraphicFieldImageByTypeSource(callback, args(0), args(1), args(2));
437
+ break;
438
+ case "getGraphicFieldImageByTypeSourcePageIndex":
439
+ getGraphicFieldImageByTypeSourcePageIndex(callback, args(0), args(1), args(2), args(3));
440
+ break;
441
+ case "getGraphicFieldImageByTypeSourcePageIndexLight":
442
+ getGraphicFieldImageByTypeSourcePageIndexLight(callback, args(0), args(1), args(2), args(3), args(4));
443
+ break;
444
+ case "getContainers":
445
+ getContainers(callback, args(0), args(1));
446
+ break;
447
+ case "getEncryptedContainers":
448
+ getEncryptedContainers(callback, args(0));
449
+ break;
397
450
  }
398
451
  } catch (Exception e) {
399
452
  e.printStackTrace();
@@ -775,15 +828,126 @@ public class DocumentReader extends CordovaPlugin {
775
828
  callback.success();
776
829
  }
777
830
 
778
- private void setCameraSessionIsPaused(Callback callback, @SuppressWarnings("unused") boolean ignored) {
779
- callback.error("setCameraSessionIsPaused() is an ios-only method");
780
- }
781
-
782
831
  private void setRfidDelegate(Callback callback, int delegate) {
783
832
  rfidDelegate = delegate;
784
833
  callback.success();
785
834
  }
786
835
 
836
+ private void getTextFieldValueByType(Callback callback, String raw, int fieldType) {
837
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
838
+ callback.success(results.getTextFieldValueByType(fieldType));
839
+ }
840
+
841
+ private void getTextFieldValueByTypeLcid(Callback callback, String raw, int fieldType, int lcid) {
842
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
843
+ callback.success(results.getTextFieldValueByType(fieldType, lcid));
844
+ }
845
+
846
+ private void getTextFieldValueByTypeSource(Callback callback, String raw, int fieldType, int source) {
847
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
848
+ callback.success(results.getTextFieldValueByTypeAndSource(fieldType, source));
849
+ }
850
+
851
+ private void getTextFieldValueByTypeLcidSource(Callback callback, String raw, int fieldType, int lcid, int source) {
852
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
853
+ callback.success(results.getTextFieldValueByType(fieldType, lcid, source));
854
+ }
855
+
856
+ private void getTextFieldValueByTypeSourceOriginal(Callback callback, String raw, int fieldType, int source, boolean original) {
857
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
858
+ callback.success(results.getTextFieldValueByTypeAndSource(fieldType, source, original));
859
+ }
860
+
861
+ private void getTextFieldValueByTypeLcidSourceOriginal(Callback callback, String raw, int fieldType, int lcid, int source, boolean original) {
862
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
863
+ callback.success(results.getTextFieldValueByType(fieldType, lcid, source, original));
864
+ }
865
+
866
+ private void getTextFieldByType(Callback callback, String raw, int fieldType) {
867
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
868
+ DocumentReaderTextField result = results.getTextFieldByType(fieldType);
869
+ if (result == null)
870
+ callback.success(null);
871
+ else
872
+ callback.success(JSONConstructor.generateDocumentReaderTextField(result, getContext()).toString());
873
+ }
874
+
875
+ private void getTextFieldByTypeLcid(Callback callback, String raw, int fieldType, int lcid) {
876
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
877
+ DocumentReaderTextField result = results.getTextFieldByType(fieldType, lcid);
878
+ if (result == null)
879
+ callback.success(null);
880
+ else
881
+ callback.success(JSONConstructor.generateDocumentReaderTextField(result, getContext()).toString());
882
+ }
883
+
884
+ private void getGraphicFieldByTypeSource(Callback callback, String raw, int fieldType, int source) {
885
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
886
+ DocumentReaderGraphicField result = results.getGraphicFieldByType(fieldType, source);
887
+ if (result == null)
888
+ callback.success(null);
889
+ else
890
+ callback.success(JSONConstructor.generateDocumentReaderGraphicField(result, getContext()).toString());
891
+ }
892
+
893
+ private void getGraphicFieldByTypeSourcePageIndex(Callback callback, String raw, int fieldType, int source, int pageIndex) {
894
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
895
+ DocumentReaderGraphicField result = results.getGraphicFieldByType(fieldType, source, pageIndex);
896
+ if (result == null)
897
+ callback.success(null);
898
+ else
899
+ callback.success(JSONConstructor.generateDocumentReaderGraphicField(result, getContext()).toString());
900
+ }
901
+
902
+ private void getGraphicFieldByTypeSourcePageIndexLight(Callback callback, String raw, int fieldType, int source, int pageIndex, int light) {
903
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
904
+ DocumentReaderGraphicField result = results.getGraphicFieldByType(fieldType, source, pageIndex, light);
905
+ if (result == null)
906
+ callback.success(null);
907
+ else
908
+ callback.success(JSONConstructor.generateDocumentReaderGraphicField(result, getContext()).toString());
909
+ }
910
+
911
+ private void getGraphicFieldImageByType(Callback callback, String raw, int fieldType) {
912
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
913
+ callback.success(Helpers.bitmapToBase64String(results.getGraphicFieldImageByType(fieldType)));
914
+ }
915
+
916
+ private void getGraphicFieldImageByTypeSource(Callback callback, String raw, int fieldType, int source) {
917
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
918
+ callback.success(Helpers.bitmapToBase64String(results.getGraphicFieldImageByType(fieldType, source)));
919
+ }
920
+
921
+ private void getGraphicFieldImageByTypeSourcePageIndex(Callback callback, String raw, int fieldType, int source, int pageIndex) {
922
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
923
+ callback.success(Helpers.bitmapToBase64String(results.getGraphicFieldImageByType(fieldType, source, pageIndex)));
924
+ }
925
+
926
+ private void getGraphicFieldImageByTypeSourcePageIndexLight(Callback callback, String raw, int fieldType, int source, int pageIndex, int light) {
927
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
928
+ callback.success(Helpers.bitmapToBase64String(results.getGraphicFieldImageByType(fieldType, source, pageIndex, light)));
929
+ }
930
+
931
+ @SuppressLint("WrongConstant")
932
+ private void getContainers(Callback callback, String raw, JSONArray resultType) {
933
+ try {
934
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
935
+ callback.success(results.getContainers(JSONConstructor.intArrayFromJSON(resultType)));
936
+ } catch (JSONException e) {
937
+ e.printStackTrace();
938
+ callback.error(e.toString());
939
+ }
940
+ }
941
+
942
+ private void getEncryptedContainers(Callback callback, String raw) {
943
+ DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
944
+ callback.success(results.getEncryptedContainers());
945
+ }
946
+
947
+ private void setCameraSessionIsPaused(Callback callback, @SuppressWarnings("unused") boolean ignored) {
948
+ callback.error("setCameraSessionIsPaused() is an ios-only method");
949
+ }
950
+
787
951
  private void getCameraSessionIsPaused(Callback callback) {
788
952
  callback.error("getCameraSessionIsPaused() is an ios-only method");
789
953
  }
@@ -63,6 +63,8 @@ class Helpers {
63
63
  }
64
64
 
65
65
  static String bitmapToBase64String(Bitmap bitmap) {
66
+ if(bitmap == null) return null;
67
+
66
68
  ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
67
69
  bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
68
70
  byte[] byteArray = byteArrayOutputStream.toByteArray();
@@ -149,6 +149,14 @@ class JSONConstructor {
149
149
  return result;
150
150
  }
151
151
 
152
+ static int[] intArrayFromJSON(JSONArray input) throws JSONException {
153
+ int[] result = new int[input.length()];
154
+ for (int i = 0; i < input.length(); i++)
155
+ result[i] = input.getInt(i);
156
+
157
+ return result;
158
+ }
159
+
152
160
  static JSONArray generateByteArray(byte[] array) throws JSONException {
153
161
  JSONArray result = new JSONArray();
154
162
  if (array == null) return result;
@@ -1,3 +1,5 @@
1
+ apply plugin: 'kotlin-android'
2
+
1
3
  repositories {
2
4
  maven {
3
5
  url "https://maven.regulaforensics.com/RegulaDocumentReader"
@@ -6,7 +8,7 @@ repositories {
6
8
 
7
9
  dependencies {
8
10
  //noinspection GradleDependency
9
- implementation ('com.regula.documentreader:api:6.6.8072'){
11
+ implementation ('com.regula.documentreader:api:6.7.8311'){
10
12
  transitive = true
11
13
  }
12
14
  }
@@ -272,6 +272,40 @@ typedef void (^Callback)(NSString* response);
272
272
  [self recognizeImageWithCameraMode :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
273
273
  else if([action isEqualToString:@"recognizeImagesWithImageInputs"])
274
274
  [self recognizeImagesWithImageInputs :[args objectAtIndex:0] :successCallback :errorCallback];
275
+ else if([action isEqualToString:@"getTextFieldValueByType"])
276
+ [self getTextFieldValueByType :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
277
+ else if([action isEqualToString:@"getTextFieldValueByTypeLcid"])
278
+ [self getTextFieldValueByTypeLcid :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :successCallback :errorCallback];
279
+ else if([action isEqualToString:@"getTextFieldValueByTypeSource"])
280
+ [self getTextFieldValueByTypeSource :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :successCallback :errorCallback];
281
+ else if([action isEqualToString:@"getTextFieldValueByTypeLcidSource"])
282
+ [self getTextFieldValueByTypeLcidSource :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :[args objectAtIndex:3] :successCallback :errorCallback];
283
+ else if([action isEqualToString:@"getTextFieldValueByTypeSourceOriginal"])
284
+ [self getTextFieldValueByTypeSourceOriginal :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :[args objectAtIndex:3] :successCallback :errorCallback];
285
+ else if([action isEqualToString:@"getTextFieldValueByTypeLcidSourceOriginal"])
286
+ [self getTextFieldValueByTypeLcidSourceOriginal :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :[args objectAtIndex:3] :[args objectAtIndex:4] :successCallback :errorCallback];
287
+ else if([action isEqualToString:@"getTextFieldByType"])
288
+ [self getTextFieldByType :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
289
+ else if([action isEqualToString:@"getTextFieldByTypeLcid"])
290
+ [self getTextFieldByTypeLcid :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :successCallback :errorCallback];
291
+ else if([action isEqualToString:@"getGraphicFieldByTypeSource"])
292
+ [self getGraphicFieldByTypeSource :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :successCallback :errorCallback];
293
+ else if([action isEqualToString:@"getGraphicFieldByTypeSourcePageIndex"])
294
+ [self getGraphicFieldByTypeSourcePageIndex :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :[args objectAtIndex:3] :successCallback :errorCallback];
295
+ else if([action isEqualToString:@"getGraphicFieldByTypeSourcePageIndexLight"])
296
+ [self getGraphicFieldByTypeSourcePageIndexLight :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :[args objectAtIndex:3] :[args objectAtIndex:4] :successCallback :errorCallback];
297
+ else if([action isEqualToString:@"getGraphicFieldImageByType"])
298
+ [self getGraphicFieldImageByType :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
299
+ else if([action isEqualToString:@"getGraphicFieldImageByTypeSource"])
300
+ [self getGraphicFieldImageByTypeSource :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :successCallback :errorCallback];
301
+ else if([action isEqualToString:@"getGraphicFieldImageByTypeSourcePageIndex"])
302
+ [self getGraphicFieldImageByTypeSourcePageIndex :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :[args objectAtIndex:3] :successCallback :errorCallback];
303
+ else if([action isEqualToString:@"getGraphicFieldImageByTypeSourcePageIndexLight"])
304
+ [self getGraphicFieldImageByTypeSourcePageIndexLight :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :[args objectAtIndex:3] :[args objectAtIndex:4] :successCallback :errorCallback];
305
+ else if([action isEqualToString:@"getContainers"])
306
+ [self getContainers :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
307
+ else if([action isEqualToString:@"getEncryptedContainers"])
308
+ [self getEncryptedContainers :[args objectAtIndex:0] :successCallback :errorCallback];
275
309
  else
276
310
  [self result:[NSString stringWithFormat:@"%@/%@", @"method not implemented: ", action] :errorCallback];
277
311
  }
@@ -662,6 +696,106 @@ typedef void (^Callback)(NSString* response);
662
696
  [self result:[[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:availableScenarios options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding] :successCallback];
663
697
  }
664
698
 
699
+ - (void) getTextFieldValueByType:(NSString*)rawResult :(NSNumber*)fieldType :(Callback)successCallback :(Callback)errorCallback{
700
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
701
+ [self result:[results getTextFieldValueByType:[fieldType integerValue]] :successCallback];
702
+ }
703
+
704
+ - (void) getTextFieldValueByTypeLcid:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)lcid :(Callback)successCallback :(Callback)errorCallback{
705
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
706
+ [self result:[results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue]] :successCallback];
707
+ }
708
+
709
+ - (void) getTextFieldValueByTypeSource:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(Callback)successCallback :(Callback)errorCallback{
710
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
711
+ [self result:[results getTextFieldValueByType:[fieldType integerValue] source:[source integerValue]] :successCallback];
712
+ }
713
+
714
+ - (void) getTextFieldValueByTypeLcidSource:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)lcid :(NSNumber*)source :(Callback)successCallback :(Callback)errorCallback{
715
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
716
+ [self result:[results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue] source:[source integerValue]] :successCallback];
717
+ }
718
+
719
+ - (void) getTextFieldValueByTypeSourceOriginal:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(BOOL)original :(Callback)successCallback :(Callback)errorCallback{
720
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
721
+ [self result:[results getTextFieldValueByType:[fieldType integerValue] source:[source integerValue] original:original] :successCallback];
722
+ }
723
+
724
+ - (void) getTextFieldValueByTypeLcidSourceOriginal:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)lcid :(NSNumber*)source :(BOOL)original :(Callback)successCallback :(Callback)errorCallback{
725
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
726
+ [self result:[results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue] source:[source integerValue] original:original] :successCallback];
727
+ }
728
+
729
+ - (void) getTextFieldByType:(NSString*)rawResult :(NSNumber*)fieldType :(Callback)successCallback :(Callback)errorCallback{
730
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
731
+ RGLDocumentReaderTextField* result = [results getTextFieldByType:[fieldType integerValue]];
732
+ if(result == nil)
733
+ [self result:nil :successCallback];
734
+ [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderTextField:result]] :successCallback];
735
+ }
736
+
737
+ - (void) getTextFieldByTypeLcid:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)lcid :(Callback)successCallback :(Callback)errorCallback{
738
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
739
+ RGLDocumentReaderTextField* result = [results getTextFieldByType:[fieldType integerValue] lcid:[lcid integerValue]];
740
+ if(result == nil)
741
+ [self result:nil :successCallback];
742
+ [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderTextField:result]] :successCallback];
743
+ }
744
+
745
+ - (void) getGraphicFieldByTypeSource:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(Callback)successCallback :(Callback)errorCallback{
746
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
747
+ RGLDocumentReaderGraphicField* result = [results getGraphicFieldByType:[fieldType integerValue] source:[source integerValue]];
748
+ if(result == nil)
749
+ [self result:nil :successCallback];
750
+ [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderGraphicField:result]] :successCallback];
751
+ }
752
+
753
+ - (void) getGraphicFieldByTypeSourcePageIndex:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(NSNumber*)pageIndex :(Callback)successCallback :(Callback)errorCallback{
754
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
755
+ RGLDocumentReaderGraphicField* result = [results getGraphicFieldByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue]];
756
+ if(result == nil)
757
+ [self result:nil :successCallback];
758
+ [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderGraphicField:result]] :successCallback];
759
+ }
760
+
761
+ - (void) getGraphicFieldByTypeSourcePageIndexLight:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(NSNumber*)pageIndex :(NSNumber*)light :(Callback)successCallback :(Callback)errorCallback{
762
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
763
+ RGLDocumentReaderGraphicField* result = [results getGraphicFieldByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue] light:[light integerValue]];
764
+ if(result == nil)
765
+ [self result:nil :successCallback];
766
+ [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderGraphicField:result]] :successCallback];
767
+ }
768
+
769
+ - (void) getGraphicFieldImageByType:(NSString*)rawResult :(NSNumber*)fieldType :(Callback)successCallback :(Callback)errorCallback{
770
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
771
+ [self result:[UIImageJPEGRepresentation([results getGraphicFieldImageByType:[fieldType integerValue]], 1.0) base64EncodedStringWithOptions:0] :successCallback];
772
+ }
773
+
774
+ - (void) getGraphicFieldImageByTypeSource:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(Callback)successCallback :(Callback)errorCallback{
775
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
776
+ [self result:[UIImageJPEGRepresentation([results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue]], 1.0) base64EncodedStringWithOptions:0] :successCallback];
777
+ }
778
+
779
+ - (void) getGraphicFieldImageByTypeSourcePageIndex:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(NSNumber*)pageIndex :(Callback)successCallback :(Callback)errorCallback{
780
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
781
+ [self result:[UIImageJPEGRepresentation([results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue]], 1.0) base64EncodedStringWithOptions:0] :successCallback];
782
+ }
783
+
784
+ - (void) getGraphicFieldImageByTypeSourcePageIndexLight:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(NSNumber*)pageIndex :(NSNumber*)light :(Callback)successCallback :(Callback)errorCallback{
785
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
786
+ [self result:[UIImageJPEGRepresentation([results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue] light:[light integerValue]], 1.0) base64EncodedStringWithOptions:0] :successCallback];
787
+ }
788
+
789
+ - (void) getContainers:(NSString*)rawResult :(NSArray<NSNumber*>*)resultType :(Callback)successCallback :(Callback)errorCallback{
790
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
791
+ [self result:[results getContainersByResultTypes:resultType] :successCallback];
792
+ }
793
+
794
+ - (void) getEncryptedContainers:(NSString*)rawResult :(Callback)successCallback :(Callback)errorCallback{
795
+ RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
796
+ [self result:[results getEncryptedContainers] :successCallback];
797
+ }
798
+
665
799
  -(RGLDocumentReaderInitializationCompletion)getInitCompletion:(Callback)successCallback :(Callback)errorCallback{
666
800
  return ^(BOOL successful, NSError * _Nullable error ) {
667
801
  if (successful){
@@ -1011,148 +1011,6 @@ class DocumentReaderValidity {
1011
1011
  }
1012
1012
 
1013
1013
  class DocumentReaderResults {
1014
- getTextFieldValueByType({ fieldType, lcid = 0, source = -1, original = false }) {
1015
- if (this.textResult == null) return null
1016
- const field = this.findByTypeAndLcid(fieldType, lcid)
1017
- if (field == null) return null
1018
- const value = this.findBySource(field, source)
1019
- if (value == null) return null
1020
- return original ? value.originalValue : value.value
1021
- }
1022
-
1023
- getTextFieldStatusByType(fieldType, lcid = 0) {
1024
- if (this.textResult == null) return 0
1025
- const field = this.findByTypeAndLcid(fieldType, lcid)
1026
- return field != null ? field.status : 0
1027
- }
1028
-
1029
- getGraphicFieldImageByType({ fieldType, source = -1, pageIndex = -1, light = -1 }) {
1030
- if (this.graphicResult == null) return null
1031
- const foundFields = []
1032
-
1033
- for (const field of this.graphicResult.fields)
1034
- if (field.fieldType === fieldType)
1035
- foundFields.push(field)
1036
- if (source !== -1)
1037
- for (const index in foundFields)
1038
- if (foundFields[index].sourceType !== source)
1039
- foundFields.splice(index, 1)
1040
- if (light !== -1)
1041
- for (const index in foundFields)
1042
- if (foundFields[index].lightType !== light)
1043
- foundFields.splice(index, 1)
1044
- if (pageIndex !== -1)
1045
- for (const index in foundFields)
1046
- if (foundFields[index].pageIndex !== pageIndex)
1047
- foundFields.splice(index, 1)
1048
- if (foundFields.length > 0)
1049
- return foundFields[0].value
1050
- }
1051
-
1052
- getQualityResult(imageQualityCheckType, securityFeature = -1, pageIndex = 0) {
1053
- let resultSum = 2
1054
- if (this.imageQuality == null) return resultSum
1055
-
1056
- let imageQualityGroup
1057
-
1058
- for (const iq of this.imageQuality)
1059
- if (iq != null && iq.pageIndex === pageIndex)
1060
- imageQualityGroup = iq
1061
- if (imageQualityGroup == null)
1062
- return resultSum
1063
-
1064
- for (const field of imageQualityGroup.imageQualityList)
1065
- if (field.type === imageQualityCheckType)
1066
- if (securityFeature === -1) {
1067
- if (field.result === 0) {
1068
- resultSum = 0
1069
- break
1070
- }
1071
- if (field.result === 1)
1072
- resultSum = field.result
1073
- } else if (field.featureType === securityFeature) {
1074
- resultSum = field.result
1075
- break
1076
- }
1077
-
1078
- return resultSum
1079
- }
1080
-
1081
- findByTypeAndLcid(type, lcid) {
1082
- let field
1083
- const foundFields = []
1084
-
1085
- for (field of this.textResult.fields)
1086
- if (field.fieldType === type)
1087
- foundFields.push(field)
1088
- if (foundFields.length <= 0)
1089
- return null
1090
-
1091
- let foundField = null
1092
-
1093
- for (field of foundFields)
1094
- if (lcid === 0) {
1095
- foundField = field
1096
- if (field.lcid === lcid)
1097
- break
1098
- } else if (field.lcid === lcid)
1099
- return field
1100
-
1101
- return foundField
1102
- }
1103
-
1104
- findBySource(field, sourceType) {
1105
- let value
1106
- if (sourceType === -1) {
1107
- const mrzVal = this.findBySource(field, 3)
1108
- if (mrzVal != null)
1109
- return mrzVal
1110
- value = this.findBySource(field, 18)
1111
- if (value != null)
1112
- return value
1113
- const visualVal = this.findBySource(field, 17)
1114
- return visualVal != null ? visualVal : null
1115
- }
1116
- for (const item of field.values)
1117
- if (item.sourceType === sourceType)
1118
- return item
1119
-
1120
- return null
1121
- }
1122
-
1123
- getContainers(resultTypes) {
1124
- try {
1125
- const json = JSON.parse(this.rawResult)
1126
- const containerList = json.List
1127
- const resultArray = []
1128
- for (const container of containerList){
1129
- if (container == null || container.length == 0)
1130
- continue
1131
- for (const resultType of resultTypes)
1132
- if(resultType == container.result_type){
1133
- resultArray.push(container)
1134
- break
1135
- }
1136
- }
1137
- if (resultArray.length == 0)
1138
- return null
1139
- const newContainerList = {}
1140
- newContainerList.List = resultArray
1141
- const newJson = {}
1142
- newJson.ContainerList = newContainerList
1143
- newJson.TransactionInfo = json.TransactionInfo
1144
- } catch (error) {
1145
- return null
1146
- }
1147
- }
1148
-
1149
- getEncryptedContainers() {
1150
- return this.getContainers([
1151
- eRPRM_ResultType.RPRM_RESULT_TYPE_INTERNAL_RFID_SESSION,
1152
- eRPRM_ResultType.RPRM_RESULT_TYPE_INTERNAL_ENCRYPTED_RCL,
1153
- eRPRM_ResultType.RPRM_RESULT_TYPE_INTERNAL_LICENSE
1154
- ])
1155
- }
1156
1014
 
1157
1015
  static fromJson(jsonObject) {
1158
1016
  if (jsonObject == null) return null
@@ -6251,6 +6109,24 @@ DocumentReader.showScannerWithCameraIDAndOpts = (cameraID, options, successCallb
6251
6109
  DocumentReader.recognizeImageWithCameraMode = (image, mode, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["recognizeImageWithCameraMode", image, mode])
6252
6110
  DocumentReader.recognizeImagesWithImageInputs = (images, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["recognizeImagesWithImageInputs", images])
6253
6111
 
6112
+ DocumentReader.getTextFieldValueByType = (results, fieldType, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getTextFieldValueByType", results.rawResult, fieldType])
6113
+ DocumentReader.getTextFieldValueByTypeLcid = (results, fieldType, lcid, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getTextFieldValueByTypeLcid", results.rawResult, fieldType, lcid])
6114
+ DocumentReader.getTextFieldValueByTypeSource = (results, fieldType, source, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getTextFieldValueByTypeSource", results.rawResult, fieldType, source])
6115
+ DocumentReader.getTextFieldValueByTypeLcidSource = (results, fieldType, lcid, source, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getTextFieldValueByTypeLcidSource", results.rawResult, fieldType, lcid, source])
6116
+ DocumentReader.getTextFieldValueByTypeSourceOriginal = (results, fieldType, source, original, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getTextFieldValueByTypeSourceOriginal", results.rawResult, fieldType, source, original])
6117
+ DocumentReader.getTextFieldValueByTypeLcidSourceOriginal = (results, fieldType, lcid, source, original, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getTextFieldValueByTypeLcidSourceOriginal", results.rawResult, fieldType, lcid, source, original])
6118
+ DocumentReader.getTextFieldByType = (results, fieldType, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getTextFieldByType", results.rawResult, fieldType])
6119
+ DocumentReader.getTextFieldByTypeLcid = (results, fieldType, lcid, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getTextFieldByTypeLcid", results.rawResult, fieldType, lcid])
6120
+ DocumentReader.getGraphicFieldByTypeSource = (results, fieldType, source, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getGraphicFieldByTypeSource", results.rawResult, fieldType, source])
6121
+ DocumentReader.getGraphicFieldByTypeSourcePageIndex = (results, fieldType, source, pageIndex, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getGraphicFieldByTypeSourcePageIndex", results.rawResult, fieldType, source, pageIndex])
6122
+ DocumentReader.getGraphicFieldByTypeSourcePageIndexLight = (results, fieldType, source, pageIndex, light, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getGraphicFieldByTypeSourcePageIndex", results.rawResult, fieldType, source, pageIndex, light])
6123
+ DocumentReader.getGraphicFieldImageByType = (results, fieldType, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getGraphicFieldImageByType", results.rawResult, fieldType])
6124
+ DocumentReader.getGraphicFieldImageByTypeSource = (results, fieldType, source, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getGraphicFieldImageByTypeSource", results.rawResult, fieldType, source])
6125
+ DocumentReader.getGraphicFieldImageByTypeSourcePageIndex = (results, fieldType, source, pageIndex, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getGraphicFieldImageByTypeSourcePageIndex", results.rawResult, fieldType, source, pageIndex])
6126
+ DocumentReader.getGraphicFieldImageByTypeSourcePageIndexLight = (results, fieldType, source, pageIndex, light, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getGraphicFieldImageByTypeSourcePageIndexLight", results.rawResult, fieldType, source, pageIndex, light])
6127
+ DocumentReader.getContainers = (results, resultType, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getContainers", results.rawResult, resultType])
6128
+ DocumentReader.getEncryptedContainers = (results, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["getEncryptedContainers", results.rawResult])
6129
+
6254
6130
  DocumentReader.DocumentReaderResults = DocumentReaderResults
6255
6131
  DocumentReader.Enum = Enum
6256
6132
  DocumentReader.DocumentReaderScenario = DocumentReaderScenario