-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathProcessParams.cs
More file actions
774 lines (697 loc) · 60.5 KB
/
ProcessParams.cs
File metadata and controls
774 lines (697 loc) · 60.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
/*
* Regula Document Reader Web API
*
* Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core
*
* The version of the OpenAPI document: 8.1.0
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using FileParameter = Regula.DocumentReader.WebClient.Client.FileParameter;
using OpenAPIDateConverter = Regula.DocumentReader.WebClient.Client.OpenAPIDateConverter;
namespace Regula.DocumentReader.WebClient.Model
{
/// <summary>
/// ProcessParams
/// </summary>
[DataContract(Name = "ProcessParams")]
public partial class ProcessParams : IValidatableObject
{
/// <summary>
/// Gets or Sets Scenario
/// </summary>
[DataMember(Name = "scenario", IsRequired = true, EmitDefaultValue = true)]
public Scenario Scenario { get; set; }
/// <summary>
/// Gets or Sets MeasureSystem
/// </summary>
[DataMember(Name = "measureSystem", EmitDefaultValue = false)]
public MeasureSystem? MeasureSystem { get; set; }
/// <summary>
/// Gets or Sets LogLevel
/// </summary>
[DataMember(Name = "logLevel", EmitDefaultValue = false)]
public LogLevel? LogLevel { get; set; }
/// <summary>
/// Gets or Sets ForceDocFormat
/// </summary>
[DataMember(Name = "forceDocFormat", EmitDefaultValue = false)]
public DocumentFormat? ForceDocFormat { get; set; }
/// <summary>
/// Gets or Sets ConvertCase
/// </summary>
[DataMember(Name = "convertCase", EmitDefaultValue = false)]
public TextPostProcessing? ConvertCase { get; set; }
/// <summary>
/// Gets or Sets MrzDetectMode
/// </summary>
[DataMember(Name = "mrzDetectMode", EmitDefaultValue = false)]
public MrzDetectModeEnum? MrzDetectMode { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="ProcessParams" /> class.
/// </summary>
[JsonConstructorAttribute]
protected ProcessParams() { }
/// <summary>
/// Initializes a new instance of the <see cref="ProcessParams" /> class.
/// </summary>
/// <param name="generateDTCVC">This parameter is used to generate separate DTC-VC data container from RFID session data..</param>
/// <param name="lcidFilter">The list of LCID types to recognize. If empty, values with all LCID types will be extracted. Empty by default..</param>
/// <param name="checkLiveness">This parameter is used to enable document liveness check..</param>
/// <param name="lcidIgnoreFilter">The list of LCID types to ignore during the recognition. If empty, values with all LCID types will be extracted. Narrowing down the list can reduce processing time. Empty by default..</param>
/// <param name="oneShotIdentification">This parameter allows processing an image that contains a person and a document and compare the portrait photo from the document with the person's face.</param>
/// <param name="useFaceApi">This parameter allows comparing faces on Regula Face Web Service.</param>
/// <param name="faceApi">faceApi.</param>
/// <param name="doDetectCan">This parameter allows enabling the CAN (Card Access Number) detection and recognition when using scenarios with document location and MRZ reading, such as the MrzAndLocate scenario..</param>
/// <param name="imageOutputMaxHeight">This parameter allows setting maximum height in pixels of output images and thus reducing image size to desired. Does not change the aspect ratio. Changes disabled if equals to 0. Default 0..</param>
/// <param name="imageOutputMaxWidth">This parameter allows setting maximum width in pixels of output images and thus reducing image size to desired. Does not change the aspect ratio. Changes disabled if equals to 0. Default 0..</param>
/// <param name="scenario">scenario (required).</param>
/// <param name="resultTypeOutput">Types of results to return in response. See 'Result' enum for available options.</param>
/// <param name="doublePageSpread">Enable this option if the image you provide contains double page spread of the passport and you want to process both pages in one go. It makes sense to use it for documents that have meaningful information on both pages, like Russian domestic passport, or some others. Disabled by default..</param>
/// <param name="generateDoublePageSpreadImage">When enabled together with \"doublePageSpread\" and there is a passport with two pages spread in the image, pages will be cropped, straightened and aligned together, as if the document was captured on a flatbed scanner. Disabled by default..</param>
/// <param name="fieldTypesFilter">If a document contains Visual zone, you can set the list of field types to extract. In this case, other fields are skipped during the processing, i.e. document recognition becomes faster. This filter is not applicable to the MRZ, barcode or RFID. If the fieldTypesFilter is empty, all fields are extracted. Empty by default. If fieldTypesFilter and fieldTypesIgnoreFilter are used simultaneously, fieldTypesFilter takes priority..</param>
/// <param name="fieldTypesIgnoreFilter">If a document contains a Visual zone, you can specify a list of field types that should be excluded from extraction. All field types listed in this array are skipped during processing, while the remaining fields are recognized. This filter is not applicable to the MRZ, barcode or RFID. If the fieldTypesIgnoreFilter is empty, all fields are extracted. Empty by default. If fieldTypesFilter and fieldTypesIgnoreFilter are used simultaneously, fieldTypesFilter takes priority..</param>
/// <param name="dateFormat">This option allows you to set dates format so that solution will return dates in this format. For example, if you supply 'MM/dd/yyyy', and document have printed date '09 JUL 2020' for the date os issue, you will get '07/09/2020' as a result. By default it is set to system locale default (where the service is running)..</param>
/// <param name="measureSystem">measureSystem.</param>
/// <param name="imageDpiOutMax">This parameter controls maximum resolution in dpi of output images. Resolution will remain original in case 0 is supplied. By default is set to return images in response with resolution not greater than 300 dpi for all scenarios except FullAuth. In FullAuth scenario this limit is 1000 dpi by default..</param>
/// <param name="alreadyCropped">This option can be enabled if you know for sure that the image you provide contains already cropped document by its edges. This was designed to process on the server side images captured and cropped on mobile. Disabled by default..</param>
/// <param name="customParams">This option allows passing custom processing parameters that can be implemented in future without changing API..</param>
/// <param name="config">This option allows setting additional custom configuration per document type. If recognized document has ID specified in config, processing adjusts according to designated configuration..</param>
/// <param name="log">When enabled, results will contain transaction processing log. Disabled by default.</param>
/// <param name="logLevel">logLevel.</param>
/// <param name="forceDocID">Force use of specific template ID and skip document type identification step..</param>
/// <param name="matchTextFieldMask">When disabled, text field OCR will be done as is and then the recognized value will be matched to the field mask for validity. If enabled, we are trying to read a field value with maximum efforts to match the mask and provide a correctly formatted value, making assumptions based on the provided field mask in the template. Enabled by default..</param>
/// <param name="fastDocDetect">When enabled, shorten the list of candidates to process during document detection in a single image process mode. Reduces processing time for specific backgrounds. Enabled by default..</param>
/// <param name="updateOCRValidityByGlare">When enabled, fail OCR field validity, if there is a glare over the text field on the image. Disabled by default..</param>
/// <param name="checkRequiredTextFields">When enabled, each field in template will be checked for value presence and if the field is marked as required, but has no value, it will have 'error' in validity status. Disabled by default..</param>
/// <param name="returnCroppedBarcode">When enabled, returns cropped barcode images for unknown documents. Disabled by default..</param>
/// <param name="imageQa">imageQa.</param>
/// <param name="strictImageQuality">When enabled, the image quality check status affects the document optical and overall status. Disabled by default..</param>
/// <param name="respectImageQuality">Deprecated. Please use strictImageQuality instead. When enabled, image quality checks status affects document optical and overall status. Disabled by default..</param>
/// <param name="forceDocFormat">forceDocFormat.</param>
/// <param name="noGraphics">When enabled, no graphic fields will be cropped from document image. Disabled by default..</param>
/// <param name="depersonalizeLog">When enabled, all personal data will be forcibly removed from the logs. Disabled by default..</param>
/// <param name="multiDocOnImage">This option allows locating and cropping multiple documents from one image if enabled. Disabled by default..</param>
/// <param name="shiftExpiryDate">This option allows shifting the date of expiry into the future or past for number of months specified. This is useful, for example, in some cases when document might be still valid for some period after original expiration date to prevent negative validity status for such documents. Or by shifting the date to the past will set negative validity for the documents that is about to expire in a specified number of months. 0 by default.</param>
/// <param name="minimalHolderAge">This options allows specifying the minimal age in years of the document holder for the document to be considered valid..</param>
/// <param name="returnUncroppedImage">When enabled, returns input images in output. Disabled by default..</param>
/// <param name="mrzFormatsFilter">This option allows limiting MRZ formats to be recognized by specifying them in array..</param>
/// <param name="forceReadMrzBeforeLocate">When enabled, make sure that in series processing MRZ is located fully inside the result document image, if present on the document. Enabling this option may add extra processing time, by disabling optimizations, but allows more stability in output image quality. Disabled by default..</param>
/// <param name="parseBarcodes">This option can be disabled to stop parsing after barcode is read. Enabled by default..</param>
/// <param name="convertCase">convertCase.</param>
/// <param name="splitNames">When enabled, the Surname and GivenNames fields from MRZ will be divided into ft_First_Name, ft_Second_Name, ft_Third_Name, ft_Fourth_Name, ft_Last_Name fields. Disabled by default..</param>
/// <param name="disablePerforationOCR">When enabled, OCR of perforated fields in the document template will not be performed. Disabled by default..</param>
/// <param name="documentGroupFilter">List of specific eligible document types from DocumentType enum to recognize from. You may, for example, specify only passports to be recognized by setting this property. Empty by default..</param>
/// <param name="processAuth">Authenticity checks that should be performed regardless of the document type. The available checks are listed in the eRPRM_Authenticity enum. Note that only supported by your license checks can be added..</param>
/// <param name="deviceId">This parameter is used to specify the document reader device type from which input images were captured. Default 0..</param>
/// <param name="deviceType">This parameter is used to specify the document reader device type from which input images were captured. Default 0..</param>
/// <param name="deviceTypeHex">This parameter is used to specify the document reader device type from which input images were captured.</param>
/// <param name="ignoreDeviceIdFromImage">This parameter is used to tell the processing engine to ignore any parameters saved in the image when scanned from the document reader device. Default false.</param>
/// <param name="documentIdList">List of the document ID's to process. All documents will be processed, if empty..</param>
/// <param name="rfid">rfid.</param>
/// <param name="checkAuth">This parameter is used to enable authenticity checks.</param>
/// <param name="authParams">authParams.</param>
/// <param name="mrzDetectMode">mrzDetectMode.</param>
/// <param name="generateNumericCodes">This parameter is used to generate numeric representation for issuing state and nationality codes.</param>
/// <param name="strictBarcodeDigitalSignatureCheck">This parameter if enabled will require all necessary certificates to verify digital signature in barcode data to be present in order for the Barcode format check to succeed..</param>
/// <param name="selectLongestNames">Select the longest value from the different value sources and write it to the value field if comparison is done successfully. The parameter applies this logic to the personal names, such as given name, surname, surname and given name, middle name and etc..</param>
/// <param name="doBarcodes">Set the types of barcodes to process..</param>
/// <param name="strictDLCategoryExpiry">Set to force DL categories expiry date to affect the overall status or not. As documents usually have their own date of expiry, which might be less or greater than category expiry date, this might be handy for specific cases..</param>
/// <param name="generateAlpha2Codes">Set to generate Alpha-2 codes for nationality and issuing state fields..</param>
/// <param name="pdfPagesLimit">Limits the number of pages to be processed from a PDF file..</param>
/// <param name="disableAuthResolutionFilter">This parameter if enabled will ignore the minimum barcode resolution needed to start processing..</param>
/// <param name="strictSecurityChecks">When enabled, this parameter marks security checks that don’t meet minimum requirements as 'Failed' (instead of 'WasNotDone'), which causes the overall security status to be 'Failed'..</param>
/// <param name="returnTransliteratedFields">Allows transliteration to be turned on or off; by default, it is enabled..</param>
/// <param name="bsiTr03135">bsiTr03135.</param>
/// <param name="strictExpiryDate">When disabled, date of expiry doesn't affect the MRZ and text statuses..</param>
/// <param name="checkVDS">This parameter is used to enable Visible Digital Seal check. Disabled by default..</param>
public ProcessParams(bool? generateDTCVC = default, List<LCID> lcidFilter = default, bool? checkLiveness = default, List<LCID> lcidIgnoreFilter = default, bool? oneShotIdentification = default, bool? useFaceApi = default, FaceApi? faceApi = default, bool? doDetectCan = default, int? imageOutputMaxHeight = default, int? imageOutputMaxWidth = default, Scenario scenario = default, List<Result> resultTypeOutput = default, bool? doublePageSpread = default, bool? generateDoublePageSpreadImage = default, List<TextFieldType> fieldTypesFilter = default, List<TextFieldType> fieldTypesIgnoreFilter = default, string? dateFormat = default, MeasureSystem? measureSystem = default, int? imageDpiOutMax = default, bool? alreadyCropped = default, Dictionary<string, Object> customParams = default, List<PerDocumentConfig> config = default, bool? log = default, LogLevel? logLevel = default, int? forceDocID = default, bool? matchTextFieldMask = default, bool? fastDocDetect = default, bool? updateOCRValidityByGlare = default, bool? checkRequiredTextFields = default, bool? returnCroppedBarcode = default, ImageQA? imageQa = default, bool? strictImageQuality = default, bool? respectImageQuality = default, DocumentFormat? forceDocFormat = default, bool? noGraphics = default, bool? depersonalizeLog = default, bool? multiDocOnImage = default, int? shiftExpiryDate = default, int? minimalHolderAge = default, bool? returnUncroppedImage = default, List<MRZFormat> mrzFormatsFilter = default, bool? forceReadMrzBeforeLocate = default, bool? parseBarcodes = default, TextPostProcessing? convertCase = default, bool? splitNames = default, bool? disablePerforationOCR = default, List<DocumentType> documentGroupFilter = default, long? processAuth = default, int? deviceId = default, int? deviceType = default, string? deviceTypeHex = default, bool? ignoreDeviceIdFromImage = default, List<int> documentIdList = default, ProcessParamsRfid? rfid = default, bool? checkAuth = default, AuthParams? authParams = default, MrzDetectModeEnum? mrzDetectMode = default, bool? generateNumericCodes = default, bool? strictBarcodeDigitalSignatureCheck = default, bool? selectLongestNames = default, List<InputBarcodeType> doBarcodes = default, bool? strictDLCategoryExpiry = default, bool? generateAlpha2Codes = default, int? pdfPagesLimit = default, bool? disableAuthResolutionFilter = default, bool? strictSecurityChecks = default, bool? returnTransliteratedFields = default, BsiTr03135? bsiTr03135 = default, bool? strictExpiryDate = default, bool? checkVDS = default)
{
this.Scenario = scenario;
this.GenerateDTCVC = generateDTCVC;
this.LcidFilter = lcidFilter;
this.CheckLiveness = checkLiveness;
this.LcidIgnoreFilter = lcidIgnoreFilter;
this.OneShotIdentification = oneShotIdentification;
this.UseFaceApi = useFaceApi;
this.FaceApi = faceApi;
this.DoDetectCan = doDetectCan;
this.ImageOutputMaxHeight = imageOutputMaxHeight;
this.ImageOutputMaxWidth = imageOutputMaxWidth;
this.ResultTypeOutput = resultTypeOutput;
this.DoublePageSpread = doublePageSpread;
this.GenerateDoublePageSpreadImage = generateDoublePageSpreadImage;
this.FieldTypesFilter = fieldTypesFilter;
this.FieldTypesIgnoreFilter = fieldTypesIgnoreFilter;
this.DateFormat = dateFormat;
this.MeasureSystem = measureSystem;
this.ImageDpiOutMax = imageDpiOutMax;
this.AlreadyCropped = alreadyCropped;
this.CustomParams = customParams;
this.Config = config;
this.Log = log;
this.LogLevel = logLevel;
this.ForceDocID = forceDocID;
this.MatchTextFieldMask = matchTextFieldMask;
this.FastDocDetect = fastDocDetect;
this.UpdateOCRValidityByGlare = updateOCRValidityByGlare;
this.CheckRequiredTextFields = checkRequiredTextFields;
this.ReturnCroppedBarcode = returnCroppedBarcode;
this.ImageQa = imageQa;
this.StrictImageQuality = strictImageQuality;
this.RespectImageQuality = respectImageQuality;
this.ForceDocFormat = forceDocFormat;
this.NoGraphics = noGraphics;
this.DepersonalizeLog = depersonalizeLog;
this.MultiDocOnImage = multiDocOnImage;
this.ShiftExpiryDate = shiftExpiryDate;
this.MinimalHolderAge = minimalHolderAge;
this.ReturnUncroppedImage = returnUncroppedImage;
this.MrzFormatsFilter = mrzFormatsFilter;
this.ForceReadMrzBeforeLocate = forceReadMrzBeforeLocate;
this.ParseBarcodes = parseBarcodes;
this.ConvertCase = convertCase;
this.SplitNames = splitNames;
this.DisablePerforationOCR = disablePerforationOCR;
this.DocumentGroupFilter = documentGroupFilter;
this.ProcessAuth = processAuth;
this.DeviceId = deviceId;
this.DeviceType = deviceType;
this.DeviceTypeHex = deviceTypeHex;
this.IgnoreDeviceIdFromImage = ignoreDeviceIdFromImage;
this.DocumentIdList = documentIdList;
this.Rfid = rfid;
this.CheckAuth = checkAuth;
this.AuthParams = authParams;
this.MrzDetectMode = mrzDetectMode;
this.GenerateNumericCodes = generateNumericCodes;
this.StrictBarcodeDigitalSignatureCheck = strictBarcodeDigitalSignatureCheck;
this.SelectLongestNames = selectLongestNames;
this.DoBarcodes = doBarcodes;
this.StrictDLCategoryExpiry = strictDLCategoryExpiry;
this.GenerateAlpha2Codes = generateAlpha2Codes;
this.PdfPagesLimit = pdfPagesLimit;
this.DisableAuthResolutionFilter = disableAuthResolutionFilter;
this.StrictSecurityChecks = strictSecurityChecks;
this.ReturnTransliteratedFields = returnTransliteratedFields;
this.BsiTr03135 = bsiTr03135;
this.StrictExpiryDate = strictExpiryDate;
this.CheckVDS = checkVDS;
}
/// <summary>
/// This parameter is used to generate separate DTC-VC data container from RFID session data.
/// </summary>
/// <value>This parameter is used to generate separate DTC-VC data container from RFID session data.</value>
[DataMember(Name = "generateDTCVC", EmitDefaultValue = false)]
public bool? GenerateDTCVC { get; set; }
/// <summary>
/// The list of LCID types to recognize. If empty, values with all LCID types will be extracted. Empty by default.
/// </summary>
/// <value>The list of LCID types to recognize. If empty, values with all LCID types will be extracted. Empty by default.</value>
[DataMember(Name = "lcidFilter", EmitDefaultValue = false)]
public List<LCID>? LcidFilter { get; set; }
/// <summary>
/// This parameter is used to enable document liveness check.
/// </summary>
/// <value>This parameter is used to enable document liveness check.</value>
[DataMember(Name = "checkLiveness", EmitDefaultValue = false)]
public bool? CheckLiveness { get; set; }
/// <summary>
/// The list of LCID types to ignore during the recognition. If empty, values with all LCID types will be extracted. Narrowing down the list can reduce processing time. Empty by default.
/// </summary>
/// <value>The list of LCID types to ignore during the recognition. If empty, values with all LCID types will be extracted. Narrowing down the list can reduce processing time. Empty by default.</value>
[DataMember(Name = "lcidIgnoreFilter", EmitDefaultValue = false)]
public List<LCID>? LcidIgnoreFilter { get; set; }
/// <summary>
/// This parameter allows processing an image that contains a person and a document and compare the portrait photo from the document with the person's face
/// </summary>
/// <value>This parameter allows processing an image that contains a person and a document and compare the portrait photo from the document with the person's face</value>
[DataMember(Name = "oneShotIdentification", EmitDefaultValue = false)]
public bool? OneShotIdentification { get; set; }
/// <summary>
/// This parameter allows comparing faces on Regula Face Web Service
/// </summary>
/// <value>This parameter allows comparing faces on Regula Face Web Service</value>
[DataMember(Name = "useFaceApi", EmitDefaultValue = false)]
public bool? UseFaceApi { get; set; }
/// <summary>
/// Gets or Sets FaceApi
/// </summary>
[DataMember(Name = "faceApi", EmitDefaultValue = false)]
public FaceApi? FaceApi { get; set; }
/// <summary>
/// This parameter allows enabling the CAN (Card Access Number) detection and recognition when using scenarios with document location and MRZ reading, such as the MrzAndLocate scenario.
/// </summary>
/// <value>This parameter allows enabling the CAN (Card Access Number) detection and recognition when using scenarios with document location and MRZ reading, such as the MrzAndLocate scenario.</value>
[DataMember(Name = "doDetectCan", EmitDefaultValue = false)]
public bool? DoDetectCan { get; set; }
/// <summary>
/// This parameter allows setting maximum height in pixels of output images and thus reducing image size to desired. Does not change the aspect ratio. Changes disabled if equals to 0. Default 0.
/// </summary>
/// <value>This parameter allows setting maximum height in pixels of output images and thus reducing image size to desired. Does not change the aspect ratio. Changes disabled if equals to 0. Default 0.</value>
[DataMember(Name = "imageOutputMaxHeight", EmitDefaultValue = false)]
public int? ImageOutputMaxHeight { get; set; }
/// <summary>
/// This parameter allows setting maximum width in pixels of output images and thus reducing image size to desired. Does not change the aspect ratio. Changes disabled if equals to 0. Default 0.
/// </summary>
/// <value>This parameter allows setting maximum width in pixels of output images and thus reducing image size to desired. Does not change the aspect ratio. Changes disabled if equals to 0. Default 0.</value>
[DataMember(Name = "imageOutputMaxWidth", EmitDefaultValue = false)]
public int? ImageOutputMaxWidth { get; set; }
/// <summary>
/// Types of results to return in response. See 'Result' enum for available options
/// </summary>
/// <value>Types of results to return in response. See 'Result' enum for available options</value>
[DataMember(Name = "resultTypeOutput", EmitDefaultValue = false)]
public List<Result>? ResultTypeOutput { get; set; }
/// <summary>
/// Enable this option if the image you provide contains double page spread of the passport and you want to process both pages in one go. It makes sense to use it for documents that have meaningful information on both pages, like Russian domestic passport, or some others. Disabled by default.
/// </summary>
/// <value>Enable this option if the image you provide contains double page spread of the passport and you want to process both pages in one go. It makes sense to use it for documents that have meaningful information on both pages, like Russian domestic passport, or some others. Disabled by default.</value>
[DataMember(Name = "doublePageSpread", EmitDefaultValue = false)]
[Obsolete]
public bool? DoublePageSpread { get; set; }
/// <summary>
/// When enabled together with \"doublePageSpread\" and there is a passport with two pages spread in the image, pages will be cropped, straightened and aligned together, as if the document was captured on a flatbed scanner. Disabled by default.
/// </summary>
/// <value>When enabled together with \"doublePageSpread\" and there is a passport with two pages spread in the image, pages will be cropped, straightened and aligned together, as if the document was captured on a flatbed scanner. Disabled by default.</value>
[DataMember(Name = "generateDoublePageSpreadImage", EmitDefaultValue = false)]
public bool? GenerateDoublePageSpreadImage { get; set; }
/// <summary>
/// If a document contains Visual zone, you can set the list of field types to extract. In this case, other fields are skipped during the processing, i.e. document recognition becomes faster. This filter is not applicable to the MRZ, barcode or RFID. If the fieldTypesFilter is empty, all fields are extracted. Empty by default. If fieldTypesFilter and fieldTypesIgnoreFilter are used simultaneously, fieldTypesFilter takes priority.
/// </summary>
/// <value>If a document contains Visual zone, you can set the list of field types to extract. In this case, other fields are skipped during the processing, i.e. document recognition becomes faster. This filter is not applicable to the MRZ, barcode or RFID. If the fieldTypesFilter is empty, all fields are extracted. Empty by default. If fieldTypesFilter and fieldTypesIgnoreFilter are used simultaneously, fieldTypesFilter takes priority.</value>
[DataMember(Name = "fieldTypesFilter", EmitDefaultValue = false)]
public List<TextFieldType>? FieldTypesFilter { get; set; }
/// <summary>
/// If a document contains a Visual zone, you can specify a list of field types that should be excluded from extraction. All field types listed in this array are skipped during processing, while the remaining fields are recognized. This filter is not applicable to the MRZ, barcode or RFID. If the fieldTypesIgnoreFilter is empty, all fields are extracted. Empty by default. If fieldTypesFilter and fieldTypesIgnoreFilter are used simultaneously, fieldTypesFilter takes priority.
/// </summary>
/// <value>If a document contains a Visual zone, you can specify a list of field types that should be excluded from extraction. All field types listed in this array are skipped during processing, while the remaining fields are recognized. This filter is not applicable to the MRZ, barcode or RFID. If the fieldTypesIgnoreFilter is empty, all fields are extracted. Empty by default. If fieldTypesFilter and fieldTypesIgnoreFilter are used simultaneously, fieldTypesFilter takes priority.</value>
[DataMember(Name = "fieldTypesIgnoreFilter", EmitDefaultValue = false)]
public List<TextFieldType>? FieldTypesIgnoreFilter { get; set; }
/// <summary>
/// This option allows you to set dates format so that solution will return dates in this format. For example, if you supply 'MM/dd/yyyy', and document have printed date '09 JUL 2020' for the date os issue, you will get '07/09/2020' as a result. By default it is set to system locale default (where the service is running).
/// </summary>
/// <value>This option allows you to set dates format so that solution will return dates in this format. For example, if you supply 'MM/dd/yyyy', and document have printed date '09 JUL 2020' for the date os issue, you will get '07/09/2020' as a result. By default it is set to system locale default (where the service is running).</value>
/*
<example>MM/dd/yyyy</example>
*/
[DataMember(Name = "dateFormat", EmitDefaultValue = false)]
public string? DateFormat { get; set; }
/// <summary>
/// This parameter controls maximum resolution in dpi of output images. Resolution will remain original in case 0 is supplied. By default is set to return images in response with resolution not greater than 300 dpi for all scenarios except FullAuth. In FullAuth scenario this limit is 1000 dpi by default.
/// </summary>
/// <value>This parameter controls maximum resolution in dpi of output images. Resolution will remain original in case 0 is supplied. By default is set to return images in response with resolution not greater than 300 dpi for all scenarios except FullAuth. In FullAuth scenario this limit is 1000 dpi by default.</value>
[DataMember(Name = "imageDpiOutMax", EmitDefaultValue = false)]
public int? ImageDpiOutMax { get; set; }
/// <summary>
/// This option can be enabled if you know for sure that the image you provide contains already cropped document by its edges. This was designed to process on the server side images captured and cropped on mobile. Disabled by default.
/// </summary>
/// <value>This option can be enabled if you know for sure that the image you provide contains already cropped document by its edges. This was designed to process on the server side images captured and cropped on mobile. Disabled by default.</value>
[DataMember(Name = "alreadyCropped", EmitDefaultValue = false)]
public bool? AlreadyCropped { get; set; }
/// <summary>
/// This option allows passing custom processing parameters that can be implemented in future without changing API.
/// </summary>
/// <value>This option allows passing custom processing parameters that can be implemented in future without changing API.</value>
[DataMember(Name = "customParams", EmitDefaultValue = false)]
public Dictionary<string, Object>? CustomParams { get; set; }
/// <summary>
/// This option allows setting additional custom configuration per document type. If recognized document has ID specified in config, processing adjusts according to designated configuration.
/// </summary>
/// <value>This option allows setting additional custom configuration per document type. If recognized document has ID specified in config, processing adjusts according to designated configuration.</value>
[DataMember(Name = "config", EmitDefaultValue = false)]
public List<PerDocumentConfig>? Config { get; set; }
/// <summary>
/// When enabled, results will contain transaction processing log. Disabled by default
/// </summary>
/// <value>When enabled, results will contain transaction processing log. Disabled by default</value>
[DataMember(Name = "log", EmitDefaultValue = false)]
public bool? Log { get; set; }
/// <summary>
/// Force use of specific template ID and skip document type identification step.
/// </summary>
/// <value>Force use of specific template ID and skip document type identification step.</value>
[DataMember(Name = "forceDocID", EmitDefaultValue = false)]
public int? ForceDocID { get; set; }
/// <summary>
/// When disabled, text field OCR will be done as is and then the recognized value will be matched to the field mask for validity. If enabled, we are trying to read a field value with maximum efforts to match the mask and provide a correctly formatted value, making assumptions based on the provided field mask in the template. Enabled by default.
/// </summary>
/// <value>When disabled, text field OCR will be done as is and then the recognized value will be matched to the field mask for validity. If enabled, we are trying to read a field value with maximum efforts to match the mask and provide a correctly formatted value, making assumptions based on the provided field mask in the template. Enabled by default.</value>
[DataMember(Name = "matchTextFieldMask", EmitDefaultValue = false)]
public bool? MatchTextFieldMask { get; set; }
/// <summary>
/// When enabled, shorten the list of candidates to process during document detection in a single image process mode. Reduces processing time for specific backgrounds. Enabled by default.
/// </summary>
/// <value>When enabled, shorten the list of candidates to process during document detection in a single image process mode. Reduces processing time for specific backgrounds. Enabled by default.</value>
[DataMember(Name = "fastDocDetect", EmitDefaultValue = false)]
[Obsolete]
public bool? FastDocDetect { get; set; }
/// <summary>
/// When enabled, fail OCR field validity, if there is a glare over the text field on the image. Disabled by default.
/// </summary>
/// <value>When enabled, fail OCR field validity, if there is a glare over the text field on the image. Disabled by default.</value>
[DataMember(Name = "updateOCRValidityByGlare", EmitDefaultValue = false)]
public bool? UpdateOCRValidityByGlare { get; set; }
/// <summary>
/// When enabled, each field in template will be checked for value presence and if the field is marked as required, but has no value, it will have 'error' in validity status. Disabled by default.
/// </summary>
/// <value>When enabled, each field in template will be checked for value presence and if the field is marked as required, but has no value, it will have 'error' in validity status. Disabled by default.</value>
[DataMember(Name = "checkRequiredTextFields", EmitDefaultValue = false)]
public bool? CheckRequiredTextFields { get; set; }
/// <summary>
/// When enabled, returns cropped barcode images for unknown documents. Disabled by default.
/// </summary>
/// <value>When enabled, returns cropped barcode images for unknown documents. Disabled by default.</value>
[DataMember(Name = "returnCroppedBarcode", EmitDefaultValue = false)]
public bool? ReturnCroppedBarcode { get; set; }
/// <summary>
/// Gets or Sets ImageQa
/// </summary>
[DataMember(Name = "imageQa", EmitDefaultValue = false)]
public ImageQA? ImageQa { get; set; }
/// <summary>
/// When enabled, the image quality check status affects the document optical and overall status. Disabled by default.
/// </summary>
/// <value>When enabled, the image quality check status affects the document optical and overall status. Disabled by default.</value>
[DataMember(Name = "strictImageQuality", EmitDefaultValue = false)]
public bool? StrictImageQuality { get; set; }
/// <summary>
/// Deprecated. Please use strictImageQuality instead. When enabled, image quality checks status affects document optical and overall status. Disabled by default.
/// </summary>
/// <value>Deprecated. Please use strictImageQuality instead. When enabled, image quality checks status affects document optical and overall status. Disabled by default.</value>
[DataMember(Name = "respectImageQuality", EmitDefaultValue = false)]
[Obsolete]
public bool? RespectImageQuality { get; set; }
/// <summary>
/// When enabled, no graphic fields will be cropped from document image. Disabled by default.
/// </summary>
/// <value>When enabled, no graphic fields will be cropped from document image. Disabled by default.</value>
[DataMember(Name = "noGraphics", EmitDefaultValue = false)]
public bool? NoGraphics { get; set; }
/// <summary>
/// When enabled, all personal data will be forcibly removed from the logs. Disabled by default.
/// </summary>
/// <value>When enabled, all personal data will be forcibly removed from the logs. Disabled by default.</value>
[DataMember(Name = "depersonalizeLog", EmitDefaultValue = false)]
public bool? DepersonalizeLog { get; set; }
/// <summary>
/// This option allows locating and cropping multiple documents from one image if enabled. Disabled by default.
/// </summary>
/// <value>This option allows locating and cropping multiple documents from one image if enabled. Disabled by default.</value>
[DataMember(Name = "multiDocOnImage", EmitDefaultValue = false)]
public bool? MultiDocOnImage { get; set; }
/// <summary>
/// This option allows shifting the date of expiry into the future or past for number of months specified. This is useful, for example, in some cases when document might be still valid for some period after original expiration date to prevent negative validity status for such documents. Or by shifting the date to the past will set negative validity for the documents that is about to expire in a specified number of months. 0 by default
/// </summary>
/// <value>This option allows shifting the date of expiry into the future or past for number of months specified. This is useful, for example, in some cases when document might be still valid for some period after original expiration date to prevent negative validity status for such documents. Or by shifting the date to the past will set negative validity for the documents that is about to expire in a specified number of months. 0 by default</value>
[DataMember(Name = "shiftExpiryDate", EmitDefaultValue = false)]
public int? ShiftExpiryDate { get; set; }
/// <summary>
/// This options allows specifying the minimal age in years of the document holder for the document to be considered valid.
/// </summary>
/// <value>This options allows specifying the minimal age in years of the document holder for the document to be considered valid.</value>
[DataMember(Name = "minimalHolderAge", EmitDefaultValue = false)]
public int? MinimalHolderAge { get; set; }
/// <summary>
/// When enabled, returns input images in output. Disabled by default.
/// </summary>
/// <value>When enabled, returns input images in output. Disabled by default.</value>
[DataMember(Name = "returnUncroppedImage", EmitDefaultValue = false)]
public bool? ReturnUncroppedImage { get; set; }
/// <summary>
/// This option allows limiting MRZ formats to be recognized by specifying them in array.
/// </summary>
/// <value>This option allows limiting MRZ formats to be recognized by specifying them in array.</value>
[DataMember(Name = "mrzFormatsFilter", EmitDefaultValue = false)]
public List<MRZFormat>? MrzFormatsFilter { get; set; }
/// <summary>
/// When enabled, make sure that in series processing MRZ is located fully inside the result document image, if present on the document. Enabling this option may add extra processing time, by disabling optimizations, but allows more stability in output image quality. Disabled by default.
/// </summary>
/// <value>When enabled, make sure that in series processing MRZ is located fully inside the result document image, if present on the document. Enabling this option may add extra processing time, by disabling optimizations, but allows more stability in output image quality. Disabled by default.</value>
[DataMember(Name = "forceReadMrzBeforeLocate", EmitDefaultValue = false)]
public bool? ForceReadMrzBeforeLocate { get; set; }
/// <summary>
/// This option can be disabled to stop parsing after barcode is read. Enabled by default.
/// </summary>
/// <value>This option can be disabled to stop parsing after barcode is read. Enabled by default.</value>
[DataMember(Name = "parseBarcodes", EmitDefaultValue = false)]
public bool? ParseBarcodes { get; set; }
/// <summary>
/// When enabled, the Surname and GivenNames fields from MRZ will be divided into ft_First_Name, ft_Second_Name, ft_Third_Name, ft_Fourth_Name, ft_Last_Name fields. Disabled by default.
/// </summary>
/// <value>When enabled, the Surname and GivenNames fields from MRZ will be divided into ft_First_Name, ft_Second_Name, ft_Third_Name, ft_Fourth_Name, ft_Last_Name fields. Disabled by default.</value>
[DataMember(Name = "splitNames", EmitDefaultValue = false)]
public bool? SplitNames { get; set; }
/// <summary>
/// When enabled, OCR of perforated fields in the document template will not be performed. Disabled by default.
/// </summary>
/// <value>When enabled, OCR of perforated fields in the document template will not be performed. Disabled by default.</value>
[DataMember(Name = "disablePerforationOCR", EmitDefaultValue = false)]
public bool? DisablePerforationOCR { get; set; }
/// <summary>
/// List of specific eligible document types from DocumentType enum to recognize from. You may, for example, specify only passports to be recognized by setting this property. Empty by default.
/// </summary>
/// <value>List of specific eligible document types from DocumentType enum to recognize from. You may, for example, specify only passports to be recognized by setting this property. Empty by default.</value>
[DataMember(Name = "documentGroupFilter", EmitDefaultValue = false)]
public List<DocumentType>? DocumentGroupFilter { get; set; }
/// <summary>
/// Authenticity checks that should be performed regardless of the document type. The available checks are listed in the eRPRM_Authenticity enum. Note that only supported by your license checks can be added.
/// </summary>
/// <value>Authenticity checks that should be performed regardless of the document type. The available checks are listed in the eRPRM_Authenticity enum. Note that only supported by your license checks can be added.</value>
[DataMember(Name = "processAuth", EmitDefaultValue = false)]
public long? ProcessAuth { get; set; }
/// <summary>
/// This parameter is used to specify the document reader device type from which input images were captured. Default 0.
/// </summary>
/// <value>This parameter is used to specify the document reader device type from which input images were captured. Default 0.</value>
[DataMember(Name = "deviceId", EmitDefaultValue = false)]
public int? DeviceId { get; set; }
/// <summary>
/// This parameter is used to specify the document reader device type from which input images were captured. Default 0.
/// </summary>
/// <value>This parameter is used to specify the document reader device type from which input images were captured. Default 0.</value>
[DataMember(Name = "deviceType", EmitDefaultValue = false)]
public int? DeviceType { get; set; }
/// <summary>
/// This parameter is used to specify the document reader device type from which input images were captured
/// </summary>
/// <value>This parameter is used to specify the document reader device type from which input images were captured</value>
[DataMember(Name = "deviceTypeHex", EmitDefaultValue = false)]
public string? DeviceTypeHex { get; set; }
/// <summary>
/// This parameter is used to tell the processing engine to ignore any parameters saved in the image when scanned from the document reader device. Default false
/// </summary>
/// <value>This parameter is used to tell the processing engine to ignore any parameters saved in the image when scanned from the document reader device. Default false</value>
[DataMember(Name = "ignoreDeviceIdFromImage", EmitDefaultValue = false)]
public bool? IgnoreDeviceIdFromImage { get; set; }
/// <summary>
/// List of the document ID's to process. All documents will be processed, if empty.
/// </summary>
/// <value>List of the document ID's to process. All documents will be processed, if empty.</value>
[DataMember(Name = "documentIdList", EmitDefaultValue = false)]
public List<int>? DocumentIdList { get; set; }
/// <summary>
/// Gets or Sets Rfid
/// </summary>
[DataMember(Name = "rfid", EmitDefaultValue = false)]
public ProcessParamsRfid? Rfid { get; set; }
/// <summary>
/// This parameter is used to enable authenticity checks
/// </summary>
/// <value>This parameter is used to enable authenticity checks</value>
[DataMember(Name = "checkAuth", EmitDefaultValue = false)]
public bool? CheckAuth { get; set; }
/// <summary>
/// Gets or Sets AuthParams
/// </summary>
[DataMember(Name = "authParams", EmitDefaultValue = false)]
public AuthParams? AuthParams { get; set; }
/// <summary>
/// This parameter is used to generate numeric representation for issuing state and nationality codes
/// </summary>
/// <value>This parameter is used to generate numeric representation for issuing state and nationality codes</value>
[DataMember(Name = "generateNumericCodes", EmitDefaultValue = false)]
public bool? GenerateNumericCodes { get; set; }
/// <summary>
/// This parameter if enabled will require all necessary certificates to verify digital signature in barcode data to be present in order for the Barcode format check to succeed.
/// </summary>
/// <value>This parameter if enabled will require all necessary certificates to verify digital signature in barcode data to be present in order for the Barcode format check to succeed.</value>
[DataMember(Name = "strictBarcodeDigitalSignatureCheck", EmitDefaultValue = false)]
public bool? StrictBarcodeDigitalSignatureCheck { get; set; }
/// <summary>
/// Select the longest value from the different value sources and write it to the value field if comparison is done successfully. The parameter applies this logic to the personal names, such as given name, surname, surname and given name, middle name and etc.
/// </summary>
/// <value>Select the longest value from the different value sources and write it to the value field if comparison is done successfully. The parameter applies this logic to the personal names, such as given name, surname, surname and given name, middle name and etc.</value>
[DataMember(Name = "selectLongestNames", EmitDefaultValue = false)]
public bool? SelectLongestNames { get; set; }
/// <summary>
/// Set the types of barcodes to process.
/// </summary>
/// <value>Set the types of barcodes to process.</value>
[DataMember(Name = "doBarcodes", EmitDefaultValue = false)]
public List<InputBarcodeType>? DoBarcodes { get; set; }
/// <summary>
/// Set to force DL categories expiry date to affect the overall status or not. As documents usually have their own date of expiry, which might be less or greater than category expiry date, this might be handy for specific cases.
/// </summary>
/// <value>Set to force DL categories expiry date to affect the overall status or not. As documents usually have their own date of expiry, which might be less or greater than category expiry date, this might be handy for specific cases.</value>
[DataMember(Name = "strictDLCategoryExpiry", EmitDefaultValue = false)]
public bool? StrictDLCategoryExpiry { get; set; }
/// <summary>
/// Set to generate Alpha-2 codes for nationality and issuing state fields.
/// </summary>
/// <value>Set to generate Alpha-2 codes for nationality and issuing state fields.</value>
[DataMember(Name = "generateAlpha2Codes", EmitDefaultValue = false)]
public bool? GenerateAlpha2Codes { get; set; }
/// <summary>
/// Limits the number of pages to be processed from a PDF file.
/// </summary>
/// <value>Limits the number of pages to be processed from a PDF file.</value>
[DataMember(Name = "pdfPagesLimit", EmitDefaultValue = false)]
public int? PdfPagesLimit { get; set; }
/// <summary>
/// This parameter if enabled will ignore the minimum barcode resolution needed to start processing.
/// </summary>
/// <value>This parameter if enabled will ignore the minimum barcode resolution needed to start processing.</value>
[DataMember(Name = "disableAuthResolutionFilter", EmitDefaultValue = false)]
public bool? DisableAuthResolutionFilter { get; set; }
/// <summary>
/// When enabled, this parameter marks security checks that don’t meet minimum requirements as 'Failed' (instead of 'WasNotDone'), which causes the overall security status to be 'Failed'.
/// </summary>
/// <value>When enabled, this parameter marks security checks that don’t meet minimum requirements as 'Failed' (instead of 'WasNotDone'), which causes the overall security status to be 'Failed'.</value>
[DataMember(Name = "strictSecurityChecks", EmitDefaultValue = false)]
public bool? StrictSecurityChecks { get; set; }
/// <summary>
/// Allows transliteration to be turned on or off; by default, it is enabled.
/// </summary>
/// <value>Allows transliteration to be turned on or off; by default, it is enabled.</value>
[DataMember(Name = "returnTransliteratedFields", EmitDefaultValue = false)]
public bool? ReturnTransliteratedFields { get; set; }
/// <summary>
/// Gets or Sets BsiTr03135
/// </summary>
[DataMember(Name = "bsiTr03135", EmitDefaultValue = false)]
public BsiTr03135? BsiTr03135 { get; set; }
/// <summary>
/// When disabled, date of expiry doesn't affect the MRZ and text statuses.
/// </summary>
/// <value>When disabled, date of expiry doesn't affect the MRZ and text statuses.</value>
[DataMember(Name = "strictExpiryDate", EmitDefaultValue = false)]
public bool? StrictExpiryDate { get; set; }
/// <summary>
/// This parameter is used to enable Visible Digital Seal check. Disabled by default.
/// </summary>
/// <value>This parameter is used to enable Visible Digital Seal check. Disabled by default.</value>
[DataMember(Name = "checkVDS", EmitDefaultValue = false)]
public bool? CheckVDS { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class ProcessParams {\n");
sb.Append(" GenerateDTCVC: ").Append(GenerateDTCVC).Append("\n");
sb.Append(" LcidFilter: ").Append(LcidFilter).Append("\n");
sb.Append(" CheckLiveness: ").Append(CheckLiveness).Append("\n");
sb.Append(" LcidIgnoreFilter: ").Append(LcidIgnoreFilter).Append("\n");
sb.Append(" OneShotIdentification: ").Append(OneShotIdentification).Append("\n");
sb.Append(" UseFaceApi: ").Append(UseFaceApi).Append("\n");
sb.Append(" FaceApi: ").Append(FaceApi).Append("\n");
sb.Append(" DoDetectCan: ").Append(DoDetectCan).Append("\n");
sb.Append(" ImageOutputMaxHeight: ").Append(ImageOutputMaxHeight).Append("\n");
sb.Append(" ImageOutputMaxWidth: ").Append(ImageOutputMaxWidth).Append("\n");
sb.Append(" Scenario: ").Append(Scenario).Append("\n");
sb.Append(" ResultTypeOutput: ").Append(ResultTypeOutput).Append("\n");
sb.Append(" DoublePageSpread: ").Append(DoublePageSpread).Append("\n");
sb.Append(" GenerateDoublePageSpreadImage: ").Append(GenerateDoublePageSpreadImage).Append("\n");
sb.Append(" FieldTypesFilter: ").Append(FieldTypesFilter).Append("\n");
sb.Append(" FieldTypesIgnoreFilter: ").Append(FieldTypesIgnoreFilter).Append("\n");
sb.Append(" DateFormat: ").Append(DateFormat).Append("\n");
sb.Append(" MeasureSystem: ").Append(MeasureSystem).Append("\n");
sb.Append(" ImageDpiOutMax: ").Append(ImageDpiOutMax).Append("\n");
sb.Append(" AlreadyCropped: ").Append(AlreadyCropped).Append("\n");
sb.Append(" CustomParams: ").Append(CustomParams).Append("\n");
sb.Append(" Config: ").Append(Config).Append("\n");
sb.Append(" Log: ").Append(Log).Append("\n");
sb.Append(" LogLevel: ").Append(LogLevel).Append("\n");
sb.Append(" ForceDocID: ").Append(ForceDocID).Append("\n");
sb.Append(" MatchTextFieldMask: ").Append(MatchTextFieldMask).Append("\n");
sb.Append(" FastDocDetect: ").Append(FastDocDetect).Append("\n");
sb.Append(" UpdateOCRValidityByGlare: ").Append(UpdateOCRValidityByGlare).Append("\n");
sb.Append(" CheckRequiredTextFields: ").Append(CheckRequiredTextFields).Append("\n");
sb.Append(" ReturnCroppedBarcode: ").Append(ReturnCroppedBarcode).Append("\n");
sb.Append(" ImageQa: ").Append(ImageQa).Append("\n");
sb.Append(" StrictImageQuality: ").Append(StrictImageQuality).Append("\n");
sb.Append(" RespectImageQuality: ").Append(RespectImageQuality).Append("\n");
sb.Append(" ForceDocFormat: ").Append(ForceDocFormat).Append("\n");
sb.Append(" NoGraphics: ").Append(NoGraphics).Append("\n");
sb.Append(" DepersonalizeLog: ").Append(DepersonalizeLog).Append("\n");
sb.Append(" MultiDocOnImage: ").Append(MultiDocOnImage).Append("\n");
sb.Append(" ShiftExpiryDate: ").Append(ShiftExpiryDate).Append("\n");
sb.Append(" MinimalHolderAge: ").Append(MinimalHolderAge).Append("\n");
sb.Append(" ReturnUncroppedImage: ").Append(ReturnUncroppedImage).Append("\n");
sb.Append(" MrzFormatsFilter: ").Append(MrzFormatsFilter).Append("\n");
sb.Append(" ForceReadMrzBeforeLocate: ").Append(ForceReadMrzBeforeLocate).Append("\n");
sb.Append(" ParseBarcodes: ").Append(ParseBarcodes).Append("\n");
sb.Append(" ConvertCase: ").Append(ConvertCase).Append("\n");
sb.Append(" SplitNames: ").Append(SplitNames).Append("\n");
sb.Append(" DisablePerforationOCR: ").Append(DisablePerforationOCR).Append("\n");
sb.Append(" DocumentGroupFilter: ").Append(DocumentGroupFilter).Append("\n");
sb.Append(" ProcessAuth: ").Append(ProcessAuth).Append("\n");
sb.Append(" DeviceId: ").Append(DeviceId).Append("\n");
sb.Append(" DeviceType: ").Append(DeviceType).Append("\n");
sb.Append(" DeviceTypeHex: ").Append(DeviceTypeHex).Append("\n");
sb.Append(" IgnoreDeviceIdFromImage: ").Append(IgnoreDeviceIdFromImage).Append("\n");
sb.Append(" DocumentIdList: ").Append(DocumentIdList).Append("\n");
sb.Append(" Rfid: ").Append(Rfid).Append("\n");
sb.Append(" CheckAuth: ").Append(CheckAuth).Append("\n");
sb.Append(" AuthParams: ").Append(AuthParams).Append("\n");
sb.Append(" MrzDetectMode: ").Append(MrzDetectMode).Append("\n");
sb.Append(" GenerateNumericCodes: ").Append(GenerateNumericCodes).Append("\n");
sb.Append(" StrictBarcodeDigitalSignatureCheck: ").Append(StrictBarcodeDigitalSignatureCheck).Append("\n");
sb.Append(" SelectLongestNames: ").Append(SelectLongestNames).Append("\n");
sb.Append(" DoBarcodes: ").Append(DoBarcodes).Append("\n");
sb.Append(" StrictDLCategoryExpiry: ").Append(StrictDLCategoryExpiry).Append("\n");
sb.Append(" GenerateAlpha2Codes: ").Append(GenerateAlpha2Codes).Append("\n");
sb.Append(" PdfPagesLimit: ").Append(PdfPagesLimit).Append("\n");
sb.Append(" DisableAuthResolutionFilter: ").Append(DisableAuthResolutionFilter).Append("\n");
sb.Append(" StrictSecurityChecks: ").Append(StrictSecurityChecks).Append("\n");
sb.Append(" ReturnTransliteratedFields: ").Append(ReturnTransliteratedFields).Append("\n");
sb.Append(" BsiTr03135: ").Append(BsiTr03135).Append("\n");
sb.Append(" StrictExpiryDate: ").Append(StrictExpiryDate).Append("\n");
sb.Append(" CheckVDS: ").Append(CheckVDS).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}