@regulaforensics/cordova-plugin-document-reader-api 6.5.0 → 6.6.1

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.
@@ -13,6 +13,7 @@ import com.regula.documentreader.api.params.ProcessParam;
13
13
  import com.regula.documentreader.api.params.rfid.ReprocParams;
14
14
  import com.regula.documentreader.api.params.rfid.dg.DataGroups;
15
15
 
16
+ import android.annotation.SuppressLint;
16
17
  import android.content.Context;
17
18
  import android.graphics.Paint;
18
19
  import android.text.SpannableString;
@@ -43,6 +44,7 @@ class RegulaConfig {
43
44
  return object;
44
45
  }
45
46
 
47
+ @SuppressLint("MissingPermission")
46
48
  private static void setFunctionality(Functionality functionality, JSONObject opts) throws JSONException {
47
49
  Functionality.FunctionalityEditor editor = functionality.edit();
48
50
  if (opts.has("pictureOnBoundsReady"))
@@ -213,6 +215,18 @@ class RegulaConfig {
213
215
  processParams.parseBarcodes = opts.getBoolean("parseBarcodes");
214
216
  if (opts.has("shouldReturnPackageForReprocess"))
215
217
  processParams.shouldReturnPackageForReprocess = opts.getBoolean("shouldReturnPackageForReprocess");
218
+ if (opts.has("imageOutputMaxHeight"))
219
+ processParams.imageOutputMaxHeight = opts.getInt("imageOutputMaxHeight");
220
+ if (opts.has("imageOutputMaxWidth"))
221
+ processParams.imageOutputMaxWidth = opts.getInt("imageOutputMaxWidth");
222
+ if (opts.has("disablePerforationOCR"))
223
+ processParams.disablePerforationOCR = opts.getBoolean("disablePerforationOCR");
224
+ if (opts.has("documentGroupFilter"))
225
+ processParams.documentGroupFilter = intArrayFromJson(opts.getJSONArray("documentGroupFilter"));
226
+ if (opts.has("respectImageQuality"))
227
+ processParams.respectImageQuality = opts.getBoolean("respectImageQuality");
228
+ if (opts.has("splitNames"))
229
+ processParams.splitNames = opts.getBoolean("splitNames");
216
230
  }
217
231
 
218
232
  private static void setCustomization(ParamsCustomization customization, JSONObject opts, Context context) throws JSONException {
@@ -485,7 +499,7 @@ class RegulaConfig {
485
499
  object.put("matchTextFieldMask", processParams.matchTextFieldMask);
486
500
  object.put("fastDocDetect", processParams.fastDocDetect);
487
501
  object.put("updateOCRValidityByGlare", processParams.updateOCRValidityByGlare);
488
- object.put("imageQA", processParams.imageQA != null ? processParams.imageQA.toJsonObject() : null);
502
+ object.put("imageQA", processParams.imageQA.toJsonObject());
489
503
  object.put("forceDocFormat", processParams.forceDocFormat);
490
504
  object.put("noGraphics", processParams.noGraphics);
491
505
  object.put("documentAreaMin", processParams.documentAreaMin);
@@ -496,6 +510,12 @@ class RegulaConfig {
496
510
  object.put("forceReadMrzBeforeLocate", processParams.forceReadMrzBeforeLocate);
497
511
  object.put("parseBarcodes", processParams.parseBarcodes);
498
512
  object.put("shouldReturnPackageForReprocess", processParams.shouldReturnPackageForReprocess);
513
+ object.put("imageOutputMaxHeight", processParams.imageOutputMaxHeight);
514
+ object.put("imageOutputMaxWidth", processParams.imageOutputMaxWidth);
515
+ object.put("disablePerforationOCR", processParams.disablePerforationOCR);
516
+ object.put("documentGroupFilter", generateIntArray(processParams.documentGroupFilter));
517
+ object.put("respectImageQuality", processParams.respectImageQuality);
518
+ object.put("splitNames", processParams.splitNames);
499
519
 
500
520
  return object;
501
521
  }
@@ -684,6 +704,7 @@ class RegulaConfig {
684
704
  setProcessParams(params, input.getJSONObject("processParams"));
685
705
  builder.setProcessParams(params);
686
706
  }
707
+ return builder.build();
687
708
  } catch (JSONException e) {
688
709
  e.printStackTrace();
689
710
  }
@@ -1,18 +1,14 @@
1
+ apply plugin: 'kotlin-android'
2
+
1
3
  repositories {
2
- jcenter()
3
- maven{
4
- url "https://maven.google.com"
5
- }
6
- maven{
7
- url "https://maven.regulaforensics.com/RegulaDocumentReader"
8
- }
9
- maven {
10
- url "https://maven.regulaforensics.com/RegulaDocumentReader/Beta"
11
- }
4
+ maven {
5
+ url "https://maven.regulaforensics.com/RegulaDocumentReader"
6
+ }
12
7
  }
13
8
 
14
9
  dependencies {
15
- implementation ('com.regula.documentreader:api:6.5.7488'){
10
+ //noinspection GradleDependency
11
+ implementation ('com.regula.documentreader:api:6.6.8072'){
16
12
  transitive = true
17
13
  }
18
14
  }
@@ -138,6 +138,14 @@ typedef void (^Callback)(NSString* response);
138
138
 
139
139
  if([action isEqualToString:@"initializeReaderAutomatically"])
140
140
  [self initializeReaderAutomatically :successCallback :errorCallback];
141
+ else if([action isEqualToString:@"isBlePermissionsGranted"])
142
+ [self isBlePermissionsGranted :successCallback :errorCallback];
143
+ else if([action isEqualToString:@"startBluetoothService"])
144
+ [self startBluetoothService :successCallback :errorCallback];
145
+ else if([action isEqualToString:@"initializeReaderBleDeviceConfig"])
146
+ [self initializeReaderBleDeviceConfig :successCallback :errorCallback];
147
+ else if([action isEqualToString:@"getTag"])
148
+ [self getTag :successCallback :errorCallback];
141
149
  else if([action isEqualToString:@"getAPIVersion"])
142
150
  [self getAPIVersion :successCallback :errorCallback];
143
151
  else if([action isEqualToString:@"getAvailableScenarios"])
@@ -218,6 +226,10 @@ typedef void (^Callback)(NSString* response);
218
226
  [self addPKDCertificates :[args objectAtIndex:0] :successCallback :errorCallback];
219
227
  else if([action isEqualToString:@"setCameraSessionIsPaused"])
220
228
  [self setCameraSessionIsPaused :[args objectAtIndex:0] :successCallback :errorCallback];
229
+ else if([action isEqualToString:@"setTag"])
230
+ [self setTag :[args objectAtIndex:0] :successCallback :errorCallback];
231
+ else if([action isEqualToString:@"checkDatabaseUpdate"])
232
+ [self checkDatabaseUpdate :[args objectAtIndex:0] :successCallback :errorCallback];
221
233
  else if([action isEqualToString:@"getScenario"])
222
234
  [self getScenario :[args objectAtIndex:0] :successCallback :errorCallback];
223
235
  else if([action isEqualToString:@"recognizeImages"])
@@ -260,6 +272,40 @@ typedef void (^Callback)(NSString* response);
260
272
  [self recognizeImageWithCameraMode :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
261
273
  else if([action isEqualToString:@"recognizeImagesWithImageInputs"])
262
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];
263
309
  else
264
310
  [self result:[NSString stringWithFormat:@"%@/%@", @"method not implemented: ", action] :errorCallback];
265
311
  }
@@ -270,6 +316,18 @@ typedef void (^Callback)(NSString* response);
270
316
  [RGLDocReader.shared initializeReaderWithConfig:[RGLConfig configWithLicenseData:licenseData] completion:[self getInitCompletion :successCallback :errorCallback]];
271
317
  }
272
318
 
319
+ - (void) isBlePermissionsGranted:(Callback)successCallback :(Callback)errorCallback{
320
+ [self result:@"isBlePermissionsGranted() is an android-only method" :errorCallback];
321
+ }
322
+
323
+ - (void) startBluetoothService:(Callback)successCallback :(Callback)errorCallback{
324
+ [self result:@"startBluetoothService() is an android-only method" :errorCallback];
325
+ }
326
+
327
+ - (void) initializeReaderBleDeviceConfig:(Callback)successCallback :(Callback)errorCallback{
328
+ [self result:@"initializeReaderBleDeviceConfig() is an android-only method" :errorCallback];
329
+ }
330
+
273
331
  - (void) resetConfiguration:(Callback)successCallback :(Callback)errorCallback{
274
332
  [self result:@"resetConfiguration() is an android-only method" :errorCallback];
275
333
  }
@@ -341,11 +399,11 @@ typedef void (^Callback)(NSString* response);
341
399
  }
342
400
 
343
401
  - (void) showScanner:(Callback)successCallback :(Callback)errorCallback{
344
- dispatch_async(dispatch_get_main_queue(), ^{
345
- [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
346
- UIViewController *currentViewController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
347
- [RGLDocReader.shared showScanner:currentViewController completion:[self getCompletion]];
348
- });
402
+ dispatch_async(dispatch_get_main_queue(), ^{
403
+ [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
404
+ UIViewController *currentViewController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
405
+ [RGLDocReader.shared showScanner:currentViewController completion:[self getCompletion]];
406
+ });
349
407
  }
350
408
 
351
409
  - (void) recognizeImage:(NSMutableString*)base64 :(Callback)successCallback :(Callback)errorCallback{
@@ -357,21 +415,22 @@ typedef void (^Callback)(NSString* response);
357
415
  }
358
416
 
359
417
  - (void) recognizeImages:(NSArray*)input :(Callback)successCallback :(Callback)errorCallback{
360
- NSMutableArray<UIImage*>* images = [[NSMutableArray alloc] init];
361
- for(__strong NSMutableString* base64 in input)
362
- [images addObject:[UIImage imageWithData:[[NSData alloc]initWithBase64EncodedString:base64 options:NSDataBase64DecodingIgnoreUnknownCharacters]]];
363
- dispatch_async(dispatch_get_main_queue(), ^{
364
- [RGLDocReader.shared recognizeImages:images completion:[self getCompletion]];
365
- });
418
+ NSMutableArray<UIImage*>* images = [[NSMutableArray alloc] init];
419
+ for(__strong NSMutableString* base64 in input)
420
+ [images addObject:[UIImage imageWithData:[[NSData alloc]initWithBase64EncodedString:base64 options:NSDataBase64DecodingIgnoreUnknownCharacters]]];
421
+ dispatch_async(dispatch_get_main_queue(), ^{
422
+ [RGLDocReader.shared recognizeImages:images completion:[self getCompletion]];
423
+ });
424
+
366
425
  }
367
426
 
368
427
  - (void) recognizeImagesWithImageInputs:(NSArray*)input :(Callback)successCallback :(Callback)errorCallback{
369
- NSMutableArray<RGLImageInput*>* images = [[NSMutableArray alloc] init];
370
- for(__strong NSDictionary* image in input)
371
- [images addObject:[RGLWJSONConstructor RGLImageInputFromJson: image]];
372
- dispatch_async(dispatch_get_main_queue(), ^{
373
- [RGLDocReader.shared recognizeImagesWithImageInputs:images completion:[self getCompletion]];
374
- });
428
+ NSMutableArray<RGLImageInput*>* images = [[NSMutableArray alloc] init];
429
+ for(__strong NSDictionary* image in input)
430
+ [images addObject:[RGLWJSONConstructor RGLImageInputFromJson: image]];
431
+ dispatch_async(dispatch_get_main_queue(), ^{
432
+ [RGLDocReader.shared recognizeImagesWithImageInputs:images completion:[self getCompletion]];
433
+ });
375
434
  }
376
435
 
377
436
  - (void) recognizeImageWithCameraMode:(NSMutableString*)base64 :(BOOL)cameraMode :(Callback)successCallback :(Callback)errorCallback{
@@ -379,31 +438,44 @@ typedef void (^Callback)(NSString* response);
379
438
  }
380
439
 
381
440
  - (void) recognizeImageWith:(NSMutableString*)base64 :(BOOL)cameraMode :(Callback)successCallback :(Callback)errorCallback{
382
- dispatch_async(dispatch_get_main_queue(), ^{
383
- [RGLDocReader.shared recognizeImage:[UIImage imageWithData:[[NSData alloc]initWithBase64EncodedString:base64 options:NSDataBase64DecodingIgnoreUnknownCharacters]] cameraMode:cameraMode completion:[self getCompletion]];
384
- });
441
+ dispatch_async(dispatch_get_main_queue(), ^{
442
+ [RGLDocReader.shared recognizeImage:[UIImage imageWithData:[[NSData alloc]initWithBase64EncodedString:base64 options:NSDataBase64DecodingIgnoreUnknownCharacters]] cameraMode:cameraMode completion:[self getCompletion]];
443
+ });
385
444
  }
386
445
 
387
446
  - (void) setConfig:(NSDictionary*)config :(Callback)successCallback :(Callback)errorCallback{
388
- [RegulaConfig setConfig:config :RGLDocReader.shared];
389
- [self result:@"" :successCallback];
447
+ [RegulaConfig setConfig:config :RGLDocReader.shared];
448
+ [self result:@"" :successCallback];
390
449
  }
391
450
 
392
451
  - (void) getConfig:(Callback)successCallback :(Callback)errorCallback{
393
452
  [self result:[[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:[RegulaConfig getConfig:RGLDocReader.shared] options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding] :successCallback];
394
453
  }
395
454
 
455
+ - (void) checkDatabaseUpdate:(NSString*)databaseId :(Callback)successCallback :(Callback)errorCallback{
456
+ [RGLDocReader.shared checkDatabaseUpdate:databaseId completion:[self getCheckDatabaseUpdateCompletion: successCallback: errorCallback]];
457
+ }
458
+
459
+ - (void) getTag:(Callback)successCallback :(Callback)errorCallback{
460
+ [self result:[RGLDocReader.shared tag] :successCallback];
461
+ }
462
+
463
+ - (void) setTag:(NSString*)tag :(Callback)successCallback :(Callback)errorCallback{
464
+ [RGLDocReader.shared setTag:tag];
465
+ [self result:@"" :successCallback];
466
+ }
467
+
396
468
  - (void) setRfidScenario:(NSDictionary*)rfidScenario :(Callback)successCallback :(Callback)errorCallback{
397
- [RegulaConfig setRfidScenario:rfidScenario :RGLDocReader.shared.rfidScenario];
398
- [self result:@"" :successCallback];
469
+ [RegulaConfig setRfidScenario:rfidScenario :RGLDocReader.shared.rfidScenario];
470
+ [self result:@"" :successCallback];
399
471
  }
400
472
 
401
473
  - (void) getRfidScenario:(Callback)successCallback :(Callback)errorCallback{
402
- [self result:[[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:RGLDocReader.shared.rfidScenario.rfidScenarioDictionary options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding] :successCallback];
474
+ [self result:[[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:RGLDocReader.shared.rfidScenario.rfidScenarioDictionary options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding] :successCallback];
403
475
  }
404
476
 
405
477
  - (void) readRFID:(Callback)successCallback :(Callback)errorCallback{
406
- [RGLDocReader.shared readRFID:[self getRFIDNotificationCallback] completion:[self getRFIDCompletion]];
478
+ [RGLDocReader.shared readRFID:[self getRFIDNotificationCallback] completion:[self getRFIDCompletion]];
407
479
  }
408
480
 
409
481
  - (void) stopRFIDReader:(Callback)successCallback :(Callback)errorCallback{
@@ -624,6 +696,106 @@ typedef void (^Callback)(NSString* response);
624
696
  [self result:[[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:availableScenarios options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding] :successCallback];
625
697
  }
626
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
+
627
799
  -(RGLDocumentReaderInitializationCompletion)getInitCompletion:(Callback)successCallback :(Callback)errorCallback{
628
800
  return ^(BOOL successful, NSError * _Nullable error ) {
629
801
  if (successful){
@@ -652,4 +824,10 @@ typedef void (^Callback)(NSString* response);
652
824
  };
653
825
  }
654
826
 
827
+ -(RGLDocumentReaderCheckUpdateCompletion)getCheckDatabaseUpdateCompletion:(Callback)successCallback :(Callback)errorCallback{
828
+ return ^(RGLDocReaderDocumentsDatabase* database) {
829
+ [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocReaderDocumentsDatabase:database]] :successCallback];
830
+ };
831
+ }
832
+
655
833
  @end
@@ -65,6 +65,12 @@
65
65
  +(NSMutableDictionary* _Nonnull)generateRGLBytesData:(RGLBytesData* _Nullable)input;
66
66
  +(NSMutableDictionary* _Nonnull)generateRGLRFIDNotify:(RGLRFIDNotify* _Nullable)input;
67
67
  +(NSMutableDictionary* _Nonnull)generateRGLUVFiberElement:(RGLUVFiberElement* _Nullable)input;
68
+ +(NSMutableDictionary* _Nonnull)generateRGLDocReaderDocumentsDatabase:(RGLDocReaderDocumentsDatabase* _Nullable)input;
69
+ +(NSMutableDictionary* _Nonnull)generateRGLDocumentReaderComparison:(RGLDocumentReaderComparison* _Nullable)input;
70
+ +(NSMutableDictionary* _Nonnull)generateRGLDocumentReaderValidity:(RGLDocumentReaderValidity* _Nullable)input;
71
+ +(NSMutableDictionary* _Nonnull)generateRGLDocumentReaderSymbol:(RGLDocumentReaderSymbol* _Nullable)input;
72
+ +(NSMutableDictionary* _Nonnull)generateRGLDocumentReaderTextSource:(RGLDocumentReaderTextSource* _Nullable)input;
73
+ +(NSMutableDictionary* _Nonnull)generateRGLDocumentReaderRfidOrigin:(RGLDocumentReaderRfidOrigin* _Nullable)input;
68
74
  +(NSMutableDictionary* _Nonnull)generateRGLElementRect:(RGLElementRect* _Nullable)input;
69
75
 
70
76
  @end
@@ -514,6 +514,15 @@
514
514
  result[@"fields"] = array;
515
515
  }
516
516
  result[@"status"] = @(input.status);
517
+ result[@"comparisonStatus"] = @(input.comparisonStatus);
518
+ result[@"validityStatus"] = @(input.validityStatus);
519
+ if(input.availableSourceList != nil){
520
+ NSMutableArray *array = [NSMutableArray new];
521
+ for(RGLDocumentReaderTextSource* item in input.availableSourceList)
522
+ if(item != nil)
523
+ [array addObject:[self generateRGLDocumentReaderTextSource:item]];
524
+ result[@"availableSourceList"] = array;
525
+ }
517
526
 
518
527
  return result;
519
528
  }
@@ -534,7 +543,22 @@
534
543
  result[@"values"] = array;
535
544
  }
536
545
  result[@"status"] = @(input.status);
537
- result[@"value"] = [self generateRGLDocumentReaderValue:[input getValue]];
546
+ result[@"value"] = input.value;
547
+ result[@"getValue"] = [self generateRGLDocumentReaderValue:[input getValue]];
548
+ if(input.comparisonList != nil){
549
+ NSMutableArray *array = [NSMutableArray new];
550
+ for(RGLDocumentReaderComparison* item in input.comparisonList)
551
+ if(item != nil)
552
+ [array addObject:[self generateRGLDocumentReaderComparison:item]];
553
+ result[@"comparisonList"] = array;
554
+ }
555
+ if(input.validityList != nil){
556
+ NSMutableArray *array = [NSMutableArray new];
557
+ for(RGLDocumentReaderValidity* item in input.validityList)
558
+ if(item != nil)
559
+ [array addObject:[self generateRGLDocumentReaderValidity:item]];
560
+ result[@"validityList"] = array;
561
+ }
538
562
 
539
563
  return result;
540
564
  }
@@ -551,6 +575,14 @@
551
575
  result[@"comparison"] = [self generateNSDictionary:input.comparison];
552
576
  result[@"pageIndex"] = @(input.pageIndex);
553
577
  result[@"probability"] = @(input.probability);
578
+ if(input.originalSymbols != nil){
579
+ NSMutableArray *array = [NSMutableArray new];
580
+ for(RGLDocumentReaderSymbol* item in input.originalSymbols)
581
+ if(item != nil)
582
+ [array addObject:[self generateRGLDocumentReaderSymbol:item]];
583
+ result[@"originalSymbols"] = array;
584
+ }
585
+ result[@"rfidOrigin"] = [self generateRGLDocumentReaderRfidOrigin:input.rfidOrigin];
554
586
 
555
587
  return result;
556
588
  }
@@ -1129,6 +1161,75 @@
1129
1161
  return result;
1130
1162
  }
1131
1163
 
1164
+ +(NSMutableDictionary* _Nonnull)generateRGLDocReaderDocumentsDatabase:(RGLDocReaderDocumentsDatabase* _Nullable)input {
1165
+ NSMutableDictionary *result = [NSMutableDictionary new];
1166
+ if(input == nil) return result;
1167
+
1168
+ result[@"databaseID"] = input.databaseID;
1169
+ result[@"version"] = input.version;
1170
+ result[@"date"] = input.date;
1171
+ result[@"databaseDescription"] = input.databaseDescription;
1172
+ result[@"countriesNumber"] = @(input.countriesNumber);
1173
+ result[@"documentsNumber"] = @(input.documentsNumber);
1174
+
1175
+ return result;
1176
+ }
1177
+
1178
+ +(NSMutableDictionary* _Nonnull)generateRGLDocumentReaderComparison:(RGLDocumentReaderComparison* _Nullable)input {
1179
+ NSMutableDictionary *result = [NSMutableDictionary new];
1180
+ if(input == nil) return result;
1181
+
1182
+ result[@"sourceTypeLeft"] = @(input.sourceTypeLeft);
1183
+ result[@"sourceTypeRight"] = @(input.sourceTypeRight);
1184
+ result[@"status"] = @(input.status);
1185
+
1186
+ return result;
1187
+ }
1188
+
1189
+ +(NSMutableDictionary* _Nonnull)generateRGLDocumentReaderValidity:(RGLDocumentReaderValidity* _Nullable)input {
1190
+ NSMutableDictionary *result = [NSMutableDictionary new];
1191
+ if(input == nil) return result;
1192
+
1193
+ result[@"sourceType"] = @(input.sourceType);
1194
+ result[@"status"] = @(input.status);
1195
+
1196
+ return result;
1197
+ }
1198
+
1199
+ +(NSMutableDictionary* _Nonnull)generateRGLDocumentReaderSymbol:(RGLDocumentReaderSymbol* _Nullable)input {
1200
+ NSMutableDictionary *result = [NSMutableDictionary new];
1201
+ if(input == nil) return result;
1202
+
1203
+ result[@"code"] = @(input.code);
1204
+ result[@"rect"] = [self generateCGRect:input.rect];
1205
+ result[@"probability"] = @(input.probability);
1206
+
1207
+ return result;
1208
+ }
1209
+
1210
+ +(NSMutableDictionary* _Nonnull)generateRGLDocumentReaderTextSource:(RGLDocumentReaderTextSource* _Nullable)input {
1211
+ NSMutableDictionary *result = [NSMutableDictionary new];
1212
+ if(input == nil) return result;
1213
+
1214
+ result[@"sourceType"] = @(input.sourceType);
1215
+ result[@"source"] = input.source;
1216
+ result[@"validityStatus"] = @(input.validityStatus);
1217
+
1218
+ return result;
1219
+ }
1220
+
1221
+ +(NSMutableDictionary* _Nonnull)generateRGLDocumentReaderRfidOrigin:(RGLDocumentReaderRfidOrigin* _Nullable)input {
1222
+ NSMutableDictionary *result = [NSMutableDictionary new];
1223
+ if(input == nil) return result;
1224
+
1225
+ result[@"dg"] = @(input.dg);
1226
+ result[@"dgTag"] = @(input.dgTag);
1227
+ result[@"entryView"] = @(input.entryView);
1228
+ result[@"tagEntry"] = @(input.tagEntry);
1229
+
1230
+ return result;
1231
+ }
1232
+
1132
1233
  +(NSMutableDictionary* _Nonnull)generateRGLElementRect:(RGLElementRect* _Nullable)input {
1133
1234
  NSMutableDictionary *result = [NSMutableDictionary new];
1134
1235
  if(input == nil) return result;
@@ -305,6 +305,8 @@
305
305
  [expectedPass addObject:str];
306
306
  image.expectedPass = expectedPass;
307
307
  }
308
+ if([dict valueForKey:@"documentPositionIndent"] != nil)
309
+ image.documentPositionIndent = [dict valueForKey:@"documentPositionIndent"];
308
310
 
309
311
  return image;
310
312
  }
@@ -320,6 +322,7 @@
320
322
  result[@"colornessCheck"] = input.colornessCheck;
321
323
  result[@"moireCheck"] = input.moireCheck;
322
324
  result[@"expectedPass"] = input.expectedPass;
325
+ result[@"documentPositionIndent"] = input.documentPositionIndent;
323
326
 
324
327
  return result;
325
328
  }
@@ -622,7 +625,7 @@
622
625
  if([options valueForKey:@"cameraPosition"] != nil)
623
626
  functionality.cameraPosition = [self AVCaptureDevicePositionWithNSInteger:[[options valueForKey:@"cameraPosition"] integerValue]];
624
627
  if([options valueForKey:@"btDeviceName"] != nil)
625
- functionality.btDeviceName = [[options valueForKey:@"btDeviceName"] stringValue];
628
+ functionality.btDeviceName = [options valueForKey:@"btDeviceName"];
626
629
  if([options valueForKey:@"useAuthenticator"] != nil)
627
630
  functionality.useAuthenticator = [[options valueForKey:@"useAuthenticator"] boolValue];
628
631
  if([options valueForKey:@"showCaptureButtonDelayFromDetect"] != nil)
@@ -742,6 +745,20 @@
742
745
  processParams.parseBarcodes = [options valueForKey:@"parseBarcodes"];
743
746
  if([options valueForKey:@"shouldReturnPackageForReprocess"] != nil)
744
747
  processParams.shouldReturnPackageForReprocess = [options valueForKey:@"shouldReturnPackageForReprocess"];
748
+ if([options valueForKey:@"imageOutputMaxWidth"] != nil)
749
+ processParams.imageOutputMaxWidth = [options valueForKey:@"imageOutputMaxWidth"];
750
+ if([options valueForKey:@"imageOutputMaxHeight"] != nil)
751
+ processParams.imageOutputMaxHeight = [options valueForKey:@"imageOutputMaxHeight"];
752
+ if([options valueForKey:@"disablePerforationOCR"] != nil)
753
+ processParams.disablePerforationOCR = [options valueForKey:@"disablePerforationOCR"];
754
+ if([options valueForKey:@"respectImageQuality"] != nil)
755
+ processParams.respectImageQuality = [options valueForKey:@"respectImageQuality"];
756
+ if([options valueForKey:@"splitNames"] != nil)
757
+ processParams.splitNames = [options valueForKey:@"splitNames"];
758
+ if([options valueForKey:@"processAuth"] != nil)
759
+ processParams.processAuth = [options valueForKey:@"processAuth"];
760
+ if([options valueForKey:@"documentGroupFilter"] != nil)
761
+ processParams.documentGroupFilter = [options mutableArrayValueForKey:@"documentGroupFilter"];
745
762
  }
746
763
 
747
764
  +(NSMutableDictionary *)getCustomization:(RGLCustomization*)customization {
@@ -893,6 +910,13 @@
893
910
  result[@"forceReadMrzBeforeLocate"] = processParams.forceReadMrzBeforeLocate;
894
911
  result[@"parseBarcodes"] = processParams.parseBarcodes;
895
912
  result[@"shouldReturnPackageForReprocess"] = processParams.shouldReturnPackageForReprocess;
913
+ result[@"imageOutputMaxWidth"] = processParams.imageOutputMaxWidth;
914
+ result[@"imageOutputMaxHeight"] = processParams.imageOutputMaxHeight;
915
+ result[@"disablePerforationOCR"] = processParams.disablePerforationOCR;
916
+ result[@"respectImageQuality"] = processParams.respectImageQuality;
917
+ result[@"splitNames"] = processParams.splitNames;
918
+ result[@"processAuth"] = processParams.processAuth;
919
+ result[@"documentGroupFilter"] = processParams.documentGroupFilter;
896
920
 
897
921
  return result;
898
922
  }