Classes

The following classes are available globally.

  • The output configuration for a camera session.

    See more

    Declaration

    Objective-C

    @interface GSKCameraSessionConfiguration : NSObject

    Swift

    class GSKCameraSessionConfiguration : NSObject
  • The GSKCameraSession class manages the interactions with the device camera.

    See more

    Declaration

    Objective-C

    @interface GSKCameraSession : NSObject

    Swift

    class GSKCameraSession : NSObject
  • A GSKCameraViewController is a ready-to-use camera interface for scanning documents.

    See more

    Declaration

    Objective-C

    @interface GSKCameraViewController : UIViewController <GSKCameraSessionDelegate>

    Swift

    class GSKCameraViewController : UIViewController, GSKCameraSessionDelegate
  • GSK

    Entry point of the SDK. Use this to initialize the SDK with your license key.

    See more

    Declaration

    Objective-C

    @interface GSK : NSObject

    Swift

    class GSK : NSObject
  • GSKPDF encapsulate the generation of a PDF document.

    See more

    Declaration

    Objective-C

    @interface GSKPDF : NSObject

    Swift

    class GSKPDF : NSObject
  • GSKTIFF encapsulate the generation of a TIFF document.

    See more

    Declaration

    Objective-C

    @interface GSKTIFF : NSObject

    Swift

    class GSKTIFF : NSObject
  • A convenience logger that logs everything using NSLog.

    Declaration

    Objective-C

    @interface GSKDefaultLogger : NSObject <GSKLogger>

    Swift

    class GSKDefaultLogger : NSObject, GSKLogger
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface GSKDocumentDetectorConfiguration: NSObject
    
    + (instancetype)defaultConfiguration;
    
    /**
     A configuration that favors speed over precision.
     */
    + (instancetype)fastConfiguration;
    
    /**
     A configuration that favors precision over speed.
     */
    + (instancetype)highPrecisionConfiguration;
    
    @end

    Swift

    class GSKDocumentDetectorConfiguration : NSObject
  • The result of the quadrangle detection operation.

    See more

    Declaration

    Objective-C

    @interface GSKDocumentDetectionResult : NSObject

    Swift

    class GSKDocumentDetectionResult : NSObject
    • Performance: A document detector can be expensive to create: it’s recommended to keep a reference to it if it’s needed several times in a row.
    See more

    Declaration

    Objective-C

    @interface GSKDocumentDetector : NSObject

    Swift

    class GSKDocumentDetector : NSObject
  • The view to edit the quadrangle to edit the perspective correction.

    It displays an editable quadrangle overlaid on the original image.

    See more

    Declaration

    Objective-C

    @interface GSKEditFrameView : UIView

    Swift

    class GSKEditFrameView : UIView
  • The GSKEditFrameViewController lets the user change a quadrangle.

    The quadrangle is a drawn as an overlay over an image. This typically lets the user edit the edges of a document to crop it more accurately.

    See more

    Declaration

    Objective-C

    @interface GSKEditFrameViewController : UIViewController

    Swift

    class GSKEditFrameViewController : UIViewController
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface GSKEditableFrame : UIView
    
    @property (nonatomic, strong) GSKQuadrangle *quadrangle;
    
    @property (nonatomic, weak, nullable) id <GSKEditableFrameDelegate> delegate;
    
    /**
     The color of the area outside of the quadrangle.
     */
    @property (nonatomic, copy) UIColor *outsideShadeColor;
    
    /**
     The color of the area inside of the quadrangle.
     */
    @property (nonatomic, copy) UIColor *insideShadeColor;
    
    /**
     The color of the area inside of the quadrangle.
     */
    @property (nonatomic, copy) UIColor *shadeColor DEPRECATED_MSG_ATTRIBUTE("Deprecated in favor of `insideShadeColor`.");
    
    /**
     The color of the edges and grid lines.
     */
    @property (nonatomic, copy) UIColor *lineColor;
    
    /**
     The width of the handle that signify that corners can be dragged.
    
     Default: 5
     */
    @property (nonatomic, assign) CGFloat handleWidth;
    @property (nonatomic, assign) BOOL noCrop;
    
    @end

    Swift

    class GSKEditableFrame : UIView
  • An object to control the logging of the Genius Scan SDK.

    See more

    Declaration

    Objective-C

    @interface GSKLog : NSObject

    Swift

    class GSKLog : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface GSKMagnifierView : UIView
    
    /**
     The style of the crosshair
     */
    @property (nonatomic, assign) GSKMagnifierViewCenterStyle centerStyle;
    
    /**
     Default line width for the crosshair.
     */
    @property (nonatomic, assign) CGFloat crosshairLineWidth;
    
    /**
     Default line width for the quadrangle.
     */
    @property (nonatomic, assign) CGFloat quadrangleLineWidth;
    
    
    /**
     The color of the quadrangle crosshair.
    
     This only applies when the crosshair is of style GSKMagnifierCrosshairStyleQuadrangle.
     */
    @property (nonatomic, copy) UIColor *quadrangleColor;
    
    - (void)setSourceImage:(UIImage *)sourceImage;
    - (void)setSourceImagePosition:(CGPoint)position quadrangle:(GSKQuadrangle *)quadrangle;
    
    @end

    Swift

    class GSKMagnifierView : UIView
  • Describes the structure of a PDF document for the PDF generator.

    See more

    Declaration

    Objective-C

    @interface GSKPDFDocument : NSObject

    Swift

    class GSKPDFDocument : NSObject
  • A configuration for the PDF generator

    See more

    Declaration

    Objective-C

    @interface GSKPDFGeneratorConfiguration : NSObject

    Swift

    class GSKPDFGeneratorConfiguration : NSObject
  • Undocumented

    Declaration

    Objective-C

    @interface GSKPDFNoopImageProcessor : NSObject <GSKPDFImageProcessor>
    
    @end

    Swift

    class GSKPDFNoopImageProcessor : NSObject, GSKPDFImageProcessor
  • Describes a page of a PDF document for the PDF generator.

    See more

    Declaration

    Objective-C

    @interface GSKPDFPage : NSObject

    Swift

    class GSKPDFPage : NSObject
  • Physical size of a PDF page in inches. If the aspect ratio doesn’t match the aspect ratio of the page in pixels, margins will be added on both sides of the page image. If 0 is provided for the width or height, it is computed to match the aspect ratio of the image. Eg, for a receipt, we usually use width = 3.54f and height = 0.

    See more

    Declaration

    Objective-C

    @interface GSKPDFSize : NSObject

    Swift

    class GSKPDFSize : NSObject
  • Represents a quadrangular area of the photo, generally the document for which to correct the perspective.

    A quadrangle should always be expressed in the coordinates of the “up” image

    A normalized quadrangle: corners expressed in fraction of the image dimensions. Each coordinate will be a floating point between 0 and 1.

    See more

    Declaration

    Objective-C

    @interface GSKQuadrangle : NSObject

    Swift

    class GSKQuadrangle : NSObject
  • A scan, the result of the camera output. It encapsulates a simple file path as well as additional information on the capture.

    See more

    Declaration

    Objective-C

    @interface GSKScan : NSObject

    Swift

    class GSKScan : NSObject
  • A GSKCurvatureCorrectionConfiguration defines the behavior of a GSKScanProcessor when applying curvature correction.

    See more

    Declaration

    Objective-C

    @interface GSKCurvatureCorrectionConfiguration : NSObject

    Swift

    class GSKCurvatureCorrectionConfiguration : NSObject
  • A GSKPerspectiveCorrectionConfiguration defines the behavior of a GSKScanProcessor when applying perspective correction.

    See more

    Declaration

    Objective-C

    @interface GSKPerspectiveCorrectionConfiguration : NSObject

    Swift

    class GSKPerspectiveCorrectionConfiguration : NSObject
  • A GSKEnhancementConfiguration defines the behavior of a GSKScanProcessor when applying legibility enhancements.

    See more

    Declaration

    Objective-C

    @interface GSKEnhancementConfiguration : NSObject

    Swift

    class GSKEnhancementConfiguration : NSObject
  • A GSKRotationConfiguration defines the behavior of a GSKScanProcessor when rotating the processed image.

    See more

    Declaration

    Objective-C

    @interface GSKRotationConfiguration : NSObject

    Swift

    class GSKRotationConfiguration : NSObject
  • A GSKResizeConfiguration defines the behavior of a GSKScanProcessor when resizing the processed image.

    See more

    Declaration

    Objective-C

    @interface GSKResizeConfiguration : NSObject

    Swift

    class GSKResizeConfiguration : NSObject
  • A configuration that defines the output of the processing.

    See more

    Declaration

    Objective-C

    @interface GSKOutputConfiguration : NSObject

    Swift

    class GSKOutputConfiguration : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface GSKProcessingResult: NSObject
    /// The output file.
    /// It's located in the temporary directory, so you need to move it to a permanent destination.
    @property (nonatomic, readonly) NSString *processedImagePath;
    
    /// The quadrangle that was used for perspective correction
    @property (nonatomic, strong, readonly) GSKQuadrangle *appliedQuadrangle;
    
    /// The filter that was applied during the enhancement phase
    @property (nonatomic, assign, readonly) GSKFilterType appliedFilter;
    
    /**
     The rotation applied during the rotation phase.
    
     If you specified a rotation angle as part of GSKRotationConfiguration, you will get this angle back here.
     If you requested an automatic orientation detection as part of the GSKRotationConfiguration, appliedRotation will correspond the rotation applied by the SDK
     to rotate the image according to the estimated orientation.
    
     Note: The output of the processing is always an up-oriented image, even if the original image had an EXIF orientation (see UIImage's imageOrientation property).
     `appliedRotation` doesn't include the rotation applied to the image buffer to remove the EXIF information. The `appliedRotation` only includes the "visual" rotation
     needed to display the image to the user:
    
     - If the input image imageOrientation is UIImageOrientationUp, and you request a clockwise rotation, appliedRotation will be GSKRotationClockwise.
     - If the input image imageOrientation is UIImageOrientationUp, and you request an automatic rotation, which detects that the image must be rotated clockwise to
      look "straight", appliedRotation will be GSKRotationClockwise.
     - If the input image imageOrientation is UIImageOrientationRight, and you request a clockwise rotation, appliedRotation will be GSKRotationClockwise. The output
      image orientation will be UIImageOrientationUp.
     - If the input image imageOrientation is UIImageOrientationUp, and you request an automatic rotation, which detects that the image must be rotated clockwise to
      look "straight", appliedRotation will be GSKRotationClockwise. The output image orientation will be UIImageOrientationUp.
     */
    @property (nonatomic, assign, readonly) GSKRotation appliedRotation;
    
    @end

    Swift

    class GSKProcessingResult : NSObject
  • The result of a resizing operation

    See more

    Declaration

    Objective-C

    @interface GSKResizeResult : NSObject

    Swift

    class GSKResizeResult : NSObject
  • The configuration object to configure the GSKProcessor’s behavior.

    You can use the default constructors.

    See more

    Declaration

    Objective-C

    @interface GSKProcessingConfiguration : NSObject

    Swift

    class GSKProcessingConfiguration : NSObject
  • The document processor is the central class of the GSSDK’s image processing algorithms.

    With the document processor, you can correct the distortion in your documents, as well as improve their legibility. If you are only interested in the detecting a document in an image, please refer to GSKDocumentDetector.

    See more

    Declaration

    Objective-C

    @interface GSKScanProcessor : NSObject

    Swift

    class GSKScanProcessor : NSObject
  • A view to simulate a camera shutter effect.

    See more

    Declaration

    Objective-C

    @interface GSKShutterView : UIView

    Swift

    class GSKShutterView : UIView
  • The text layout of a scan

    This is part of the output of the OCR recognition, but can also be part of the input of the PDF generation.

    See more

    Declaration

    Objective-C

    @interface GSKTextLayout : NSObject

    Swift

    class GSKTextLayout : NSObject
  • Converts a text layout to its textual representation

    The goal is to properly recreate lines, paragraphs etc.

    See more

    Declaration

    Objective-C

    @interface GSKTextLayoutToTextConverter : NSObject

    Swift

    class GSKTextLayoutToTextConverter : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface GSKTextLayoutToTextConverterResult : NSObject
    - (nonnull instancetype)initWithStatus:(GSKTextLayoutToTextConverterStatus)status
                                      text:(nonnull NSString *)text
                     averageWordConfidence:(int32_t)averageWordConfidence
                                 wordCount:(int32_t)wordCount;
    + (nonnull instancetype)textLayoutToTextConverterResultWithStatus:(GSKTextLayoutToTextConverterStatus)status
                                                                 text:(nonnull NSString *)text
                                                averageWordConfidence:(int32_t)averageWordConfidence
                                                            wordCount:(int32_t)wordCount;
    
    /** The status of the conversion. If failure, the other values in the result must not be used. */
    @property (nonatomic, readonly) GSKTextLayoutToTextConverterStatus status;
    
    /** The text reconstructed from the text layout. */
    @property (nonatomic, readonly, nonnull) NSString * text;
    
    /**
     * The average word confidence of the recognized text.
     * A value between 0 and 100
     */
    @property (nonatomic, readonly) int32_t averageWordConfidence;
    
    /**
     * The number of words in the recognized text.
     * This is the number of words on which the average word confidence has been computed.
     */
    @property (nonatomic, readonly) int32_t wordCount;
    
    @end

    Swift

    class GSKTextLayoutToTextConverterResult : NSObject
  • An object to determine when there is enough stability to trigger a photo.

    See more

    Declaration

    Objective-C

    @interface GSKTriggerDecider : NSObject

    Swift

    class GSKTriggerDecider : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface GSKView : UIView
    
    // Handle interface orientation change
    - (void)initializeRotationWithInterfaceOrientation:(UIInterfaceOrientation)orientation;
    - (void)rotateWithCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator;
    
    // Displays the focus indicator at the requested location
    - (void)animateFocusAtLocation:(CGPoint)location;
    
    /// Updates the quadrangle overlay. Removes the quadrangle if @param quadrangle is nil.
    - (void)updateQuadrangle:(GSKQuadrangle *)quadrangle;
    
    - (void)setCaptureSession:(AVCaptureSession *)session;
    
    /**
     Freeze the capture preview. This is very fast as this doesn't interrupt the camera session.
     */
    - (void)pausePreview;
    
    /**
     Resumes the capture preview.
     */
    - (void)resumePreview;
    
    @property (nonatomic, readonly) UIView *previewView;
    
    /**
     The document frame layer
     */
    @property (nonatomic, readonly) CAShapeLayer *frameLayer;
    @property (nonatomic, readonly) CAShapeLayer *snapFrameLayer;
    
    @property (nonatomic, copy) UIColor *overlayColor;
    
    @property (nonatomic, weak) id <GSCViewDelegate> delegate;
    
    @end

    Swift

    class GSKView : UIView

OCR

  • The result of an OCR operation.

    See more

    Declaration

    Objective-C

    @interface GSKOCRResult : NSObject

    Swift

    class GSKOCRResult : NSObject
  • The configuration for an OCR operation

    See more

    Declaration

    Objective-C

    @interface GSKOCRConfiguration : NSObject

    Swift

    class GSKOCRConfiguration : NSObject
  • Provides OCR capability for your application.

    Warning

    The SDK must be initialized with [GSK initWithLicenseKey:error:] first.
    See more

    Declaration

    Objective-C

    @interface GSKOCR : NSObject

    Swift

    class GSKOCR : NSObject
  • The configuration for text recognition

    See more

    Declaration

    Objective-C

    @interface GSKScanFlowOCRConfiguration : NSObject

    Swift

    class GSKScanFlowOCRConfiguration : NSObject
  • Enables configuration of the GSKScanFlow.

    Set the desired configuration on an instance of GSKScanFlowConfiguration and pass it to the initializer of GSKScanFlow to build the desired scan flow.

    See more

    Declaration

    Objective-C

    @interface GSKScanFlowConfiguration : NSObject

    Swift

    class GSKScanFlowConfiguration : NSObject
  • The result of the text recognition.

    See more

    Declaration

    Objective-C

    @interface GSKScanFlowOCRResult : NSObject

    Swift

    class GSKScanFlowOCRResult : NSObject
  • A page captured by the scan flow.

    See more

    Declaration

    Objective-C

    @interface GSKScanFlowScan : NSObject

    Swift

    class GSKScanFlowScan : NSObject
  • The result of a scan flow

    See more

    Declaration

    Objective-C

    @interface GSKScanFlowResult : NSObject

    Swift

    class GSKScanFlowResult : NSObject
  • A high-level scanner module.

    You present it and when the user is done, you obtain a result object containing the scanned documents.

    The scan flow can be customized with a GSKScanFlowConfiguration.

    See more

    Declaration

    Objective-C

    @interface GSKScanFlow : NSObject

    Swift

    class GSKScanFlow : NSObject
  • The output result from the scan flow.

    See more

    Declaration

    Objective-C

    @interface GSKScanFlowScanInternal : NSObject

    Swift

    class GSKScanFlowScanInternal : NSObject