Niimprint-Swift

iOS client for Niimbot label printers via CoreBluetooth. Supports D11/B21/B1 models

Key Features & Port Changes

Platform

Optimized for iOS 15.0+ and Swift 5.9

Transport

Fully rewritten using CoreBluetooth

Image Processing

Uses CoreGraphics and UIKit for bitmap conversion

Modern Architecture

Asynchronous API using Swift Concurrency (async/await)

Optimization

Checksum-free encoding for faster transmission

Compatibility

Supports D11/B21/B1 via Bluetooth or USB

Quick Start

Setup Example

Preview of Niimprint-Swift integration:

Swift
import UIKit
import Niimprint
import CoreBluetooth

class PrinterViewController: UIViewController {
    private var printer: NiimprintClient?
    
    override func viewDidLoad() {
        super.viewDidLoad()
        setupPrinter()
    }
}

Technical Specifications

Print Resolution & Constraints

Niimbot printers utilize a density of 8 pixels per mm (~203 dpi). Before sending data, ensure your UIImage matches the pixel constraints of the print head:

Printer Model Max Pixel Width Approx. Physical Width
B21, B1, B18 384 px 50 mm
D11 96 px 15 mm

Ready to Get Started?

Purchase Niimprint-Swift and start building your iOS label printing app today!

Get Started