<!--
{
  "documentType" : "article",
  "framework" : "ImageCaptureCore",
  "identifier" : "/documentation/ImageCaptureCore/scanner-configuration",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Scanner Configuration"
}
-->

# Scanner Configuration

Examine a scanner’s functional units and features.

## Topics

### Band Data

[`ICScannerBandData`](/documentation/ImageCaptureCore/ICScannerBandData)

The options for each band of data that the scanner reads.

### Bit Depth

[`ICScannerBitDepth`](/documentation/ImageCaptureCore/ICScannerBitDepth)

The number of bits per channel in the scanned image.

### Color Formats

[`ICScannerColorDataFormatType`](/documentation/ImageCaptureCore/ICScannerColorDataFormatType)

The color data formats relevant to multichannel data.

### Document Sizes

[`ICScannerDocumentType`](/documentation/ImageCaptureCore/ICScannerDocumentType)

The supported document size types.

[`ICScannerMeasurementUnit`](/documentation/ImageCaptureCore/ICScannerMeasurementUnit)

The unit of measurement used by the scanner.

### Features

[`ICScannerFeature`](/documentation/ImageCaptureCore/ICScannerFeature)

An abstract class that describes a scanner feature.

[`ICScannerFeatureBoolean`](/documentation/ImageCaptureCore/ICScannerFeatureBoolean)

A feature with a value of `YES` or `NO`.

[`ICScannerFeatureEnumeration`](/documentation/ImageCaptureCore/ICScannerFeatureEnumeration)

A feature that can have one of several discrete values, strings or numbers.

[`ICScannerFeatureRange`](/documentation/ImageCaptureCore/ICScannerFeatureRange)

A feature with a value that lies within a range.

[`ICScannerFeatureTemplate`](/documentation/ImageCaptureCore/ICScannerFeatureTemplate)

A group of one or more rectangular scan areas that can be used with a scanner functional unit.

[`ICScannerFeatureType`](/documentation/ImageCaptureCore/ICScannerFeatureType)

The types of scanner features.

### Functional Units

[`ICScannerFunctionalUnit`](/documentation/ImageCaptureCore/ICScannerFunctionalUnit)

An abstract class that represents a scanner functional unit.

[`ICScannerFunctionalUnitDocumentFeeder`](/documentation/ImageCaptureCore/ICScannerFunctionalUnitDocumentFeeder)

An object that represents the document feeder unit on a scanner.

[`ICScannerFunctionalUnitFlatbed`](/documentation/ImageCaptureCore/ICScannerFunctionalUnitFlatbed)

An object that represents the flatbed unit on a scanner.

[`ICScannerFunctionalUnitNegativeTransparency`](/documentation/ImageCaptureCore/ICScannerFunctionalUnitNegativeTransparency)

An object that represents the transparency unit for scanning negatives on the scanner.

[`ICScannerFunctionalUnitPositiveTransparency`](/documentation/ImageCaptureCore/ICScannerFunctionalUnitPositiveTransparency)

An object that represents the transparency unit for scanning positives on the scanner.

[`ICScannerTransferMode`](/documentation/ImageCaptureCore/ICScannerTransferMode)

The modes for transferring scan data from the scanner functional unit.

### Pixel Data Types

[`ICScannerPixelDataType`](/documentation/ImageCaptureCore/ICScannerPixelDataType)

The pixel data types.

### Scanner States

[`ICScannerStatusRequestsOverviewScan`](/documentation/ImageCaptureCore/ICScannerStatusRequestsOverviewScan)

A nonlocalized notification string to indicate that the scanner is requesting an overview scan.

[`ICScannerStatusWarmingUp`](/documentation/ImageCaptureCore/ICScannerStatusWarmingUp)

A nonlocalized notification string to indicate that the scanner is warming up.

[`ICScannerStatusWarmUpDone`](/documentation/ImageCaptureCore/ICScannerStatusWarmUpDone)

A nonlocalized notification string to indicate that the scanner has warmed up.

### Buttons

[`ICButtonTypeCopy`](/documentation/ImageCaptureCore/ICButtonTypeCopy)

A nonlocalized notification string to indicate that the Copy button on the device was pressed.

[`ICButtonTypeMail`](/documentation/ImageCaptureCore/ICButtonTypeMail)

A nonlocalized notification string to indicate that the Mail button on the device was pressed.

[`ICButtonTypePrint`](/documentation/ImageCaptureCore/ICButtonTypePrint)

A nonlocalized notification string to indicate that the Print button on the device was pressed.

[`ICButtonTypeScan`](/documentation/ImageCaptureCore/ICButtonTypeScan)

A nonlocalized notification string to indicate that the Scan button on the device was pressed.

[`ICButtonTypeTransfer`](/documentation/ImageCaptureCore/ICButtonTypeTransfer)

A nonlocalized notification string to indicate that the Transfer button on the device was pressed.

[`ICButtonTypeWeb`](/documentation/ImageCaptureCore/ICButtonTypeWeb)

A nonlocalized notification string to indicate that the Web button on the device was pressed.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)