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 UX | Ready-to-use screens |
| Adjust the wording/localisation of the standard screens | Ready-to-use screens + their *Configuration and the strings table |
| Build a fully custom camera, editor, or results UI | Core 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 flow | Ready-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
- The document processing pipeline — the stages both levels share.
- Camera capture & live detection — the ready-to-use screen and the
PxFrameObserverengine path. - Customising the ready-to-use UI — strings and localisation.