10#import <Foundation/Foundation.h>
11#import <UniPRT/Pdf417EncoderTables.h>
15typedef NS_ENUM(NSInteger, EncodingControl) {
17 EncodingControlByteOnly,
18 EncodingControlTextAndByte,
21typedef NS_ENUM(NSInteger, ErrorCorrectionLevel) {
22 ErrorCorrectionLevel_0,
23 ErrorCorrectionLevel_1,
24 ErrorCorrectionLevel_2,
25 ErrorCorrectionLevel_3,
26 ErrorCorrectionLevel_4,
27 ErrorCorrectionLevel_5,
28 ErrorCorrectionLevel_6,
29 ErrorCorrectionLevel_7,
30 ErrorCorrectionLevel_8,
31 ErrorCorrectionLevelAutoLow,
32 ErrorCorrectionLevelAutoNormal,
33 ErrorCorrectionLevelAutoMedium,
34 ErrorCorrectionLevelAutoHigh,
37typedef NS_ENUM(NSInteger, EncodingMode) {
43typedef NS_ENUM(NSInteger, TextEncodingMode) {
44 TextEncodingModeUpper,
45 TextEncodingModeLower,
46 TextEncodingModeMixed,
47 TextEncodingModePunct,
48 TextEncodingModeShiftUpper,
49 TextEncodingModeShiftPunct,
52@interface Pdf417Encoder : NSObject
54@property (nonatomic) EncodingControl encodingControl;
55@property (nonatomic) ErrorCorrectionLevel errorCorrection;
56@property (nonatomic)
int narrowBarWidth;
57@property (nonatomic)
int rowHeight;
58@property (nonatomic)
int quietZone;
59@property (nonatomic)
int defaultDataColumns;
60@property (nonatomic, strong) NSString *globalLabelIDCharacterSet;
61@property (nonatomic)
int globalLabelIDUserDefined;
62@property (nonatomic)
int globalLabelIDGeneralPurpose;
64@property (nonatomic, strong) NSMutableArray<NSNumber *> *dataCodewords;
65@property (nonatomic)
int barcodeDataPos;
66@property (nonatomic)
int barcodeDataLength;
67@property (nonatomic, strong) NSData *barcodeBinaryData;
68@property (nonatomic) EncodingMode encodingMode;
69@property (nonatomic) TextEncodingMode textEncodingMode;
70@property (nonatomic) ErrorCorrectionLevel errorCorrectionLevel;
71@property (nonatomic)
int errorCorrectionLength;
73- (void)SetErrorCorrectionLevel;
75- (void)encodeNumericSegment:(
int)totalCount;
78- (int)countPunctuationWithCurrentTextCount:(
int)currentTextCount;
80- (void)encodeByteSegment:(
int)bytes;
81- (void)encodeTextSegment:(
int)totalCount;
82- (void)calculateErrorCorrection:(
int *)codewords length:(
int)length;
83- (void)codewordToModules:(
int)row col:(
int)col codeword:(
int)codeword matrix:(BOOL **)matrix;
84- (void)encodeWithStringData:(NSString *)stringData;
85- (void)SetDataColumns:(
int)dataColumns;
86- (void)SetDataRows:(
int)dataRows;
89- (int)aspect1to2Column;