Engine vs ready-to-use UI Pixelnetica™ Document Scanning SDK for Apple iOS

DSSDK gives you the same capabilities at two levels. Picking the right one is the most important early decision, so this page lays out what each offers and when to reach for it.

The two levels

Ready-to-use UI (DocScanningSDK-UI) — screen-level components you present like any other view controller or SwiftUI view. The SDK owns the user interface and the interaction; you provide a configuration and receive a result. The screens are:

  • PxUiCameraScreen — the camera scanner with live edge detection and auto-shot.
  • PxUiPageCropScreen — a crop/borders editor for adjusting the detected corners and rotation.
  • PxUiOcrEditorScreen — an editor for reviewing and correcting recognised text.
  • PxUiLanguagePickerScreen — a picker for choosing OCR languages.

Each screen takes a *Configuration object and can be re-localised through a strings table, but its layout and behaviour are fixed by the SDK.

Core engine (DocScanningSDK) — the underlying capabilities with no UI: live detection (PxFrameObserver), the image and its processing (PxPicture), document corners (PxCutout), text recognition (PxTextReader), and export (PxImageWriter). You drive these from your own UI, or headlessly with no UI at all.

Because the UI product includes the core engine, you can mix the two: present a ready-to-use screen and then post-process its result with the engine.

Decision rubric

If you want to…Use
Ship a working scanner quickly with a standard, well-tested UXReady-to-use screens
Adjust the wording/localisation of the standard screensReady-to-use screens + their *Configuration and the strings table
Build a fully custom camera, editor, or results UICore engine
Process images with no UI at all (e.g. batch a folder of imported images)Core engine
Use the standard camera but your own results/export flowReady-to-use camera + core engine for the rest

The guiding principle: start with the ready-to-use screens for a fast, reliable result, and drop down to the core engine only where you genuinely need custom UI or headless processing. You do not have to choose globally — mix per feature.

What ready-to-use does not (yet) do

The screens are configurable and localisable, but they are not deeply re-themable (custom colours, fonts, and icons) in this release. If your design requires a bespoke look, build that screen on the core engine.

See also

Top