PaperScannerOptions class
Behavioral configuration for a scan session (separate from visual PaperScannerStyle).
Constructors
- PaperScannerOptions({bool outputPdf = false, int minPages = 0, int maxPages = 0, ScanFilter initialFilter = ScanFilter.original, bool enableLiveDetection = true, int detectionFps = 10, bool autoConfirmSinglePage = false, bool autoCapture = true, bool confirmAfterCapture = false, double autoCaptureConfidence = 0.66, int autoCaptureStableFrames = 3, double autoCaptureMotionTolerance = 0.025})
-
const
Properties
- autoCapture → bool
-
Initial state of the auto-capture toggle. When
true(the default) the scanner shoots automatically once a confident, stable document quad is held in frame — the user does not have to tap the shutter. The manual shutter button stays available either way.final - autoCaptureConfidence → double
-
Minimum detection confidence (
0..1) a live quad must reach before auto-capture will consider it. Lower = fires on weaker detections. Defaults to0.66.final - autoCaptureMotionTolerance → double
-
Maximum movement of any quad corner between two detections, as a fraction
of the frame, still counted as "still". Larger = more tolerant of shake
(fires sooner); smaller = demands a steadier hold. Defaults to
0.025.final - autoCaptureStableFrames → int
-
Number of consecutive "still" detections required before auto-capture
fires. Higher = the document must be held steady longer. Defaults to
3(≈0.3s at the default detectionFps).final - autoConfirmSinglePage → bool
-
When
trueand maxPages is 1, the session finishes automatically after the first page's filter step instead of showing add/done controls.final - confirmAfterCapture → bool
-
When
true, each capture pauses on a Retake / Keep crop-confirm step before the page is committed (the legacy flow). Whenfalse(the default) captures commit immediately with the detected crop — matching the native OS scanners — and corrections happen later in the detail/edit view.final - detectionFps → int
-
Target frames-per-second for realtime detection. The preview stream is
throttled to roughly this rate (and skips frames while a detection is in
flight) to keep the UI smooth. Higher values make the edge overlay track
the document more responsively at some CPU cost; defaults to 10.
final
- detectionInterval → Duration
-
Minimum interval between processed preview frames, derived from
detectionFps.
no setter
- enableLiveDetection → bool
-
Whether to run realtime edge detection on the live preview.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- initialFilter → ScanFilter
-
Filter applied to a page immediately after cropping.
final
- maxPages → int
-
Maximum number of pages;
0means unlimited.final - minPages → int
-
Minimum number of pages required before the session can finish.
final
- outputPdf → bool
-
When
true, the result includes an assembled multi-page PDF (PaperScanResult.pdfPath).final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
copyWith(
{bool? outputPdf, int? minPages, int? maxPages, ScanFilter? initialFilter, bool? enableLiveDetection, int? detectionFps, bool? autoConfirmSinglePage, bool? autoCapture, bool? confirmAfterCapture, double? autoCaptureConfidence, int? autoCaptureStableFrames, double? autoCaptureMotionTolerance}) → PaperScannerOptions -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited