Original thread: https://www.b4x.com/android/forum/threads/bluetooth-printing-via-spp.17692/page-12
I simlified the above's example to print on a BT POS printer like this
		
		
	
	
		
	 
with the correct codepage to print special chars like "äöüßéè", etc. (codepage 1252).
Steps:
- switch on the printer
- switch on BT on your device
- pair your device with the printer (pw on my printer is 1234, take a look at the manual)
- wait 'till it's paired and see the printer's name
- insert the first unique chars in the code (the MAC address is retrieved via the printers name)
- run the app and print
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
			
			I simlified the above's example to print on a BT POS printer like this
with the correct codepage to print special chars like "äöüßéè", etc. (codepage 1252).
Steps:
- switch on the printer
- switch on BT on your device
- pair your device with the printer (pw on my printer is 1234, take a look at the manual)
- wait 'till it's paired and see the printer's name
- insert the first unique chars in the code (the MAC address is retrieved via the printers name)
- run the app and print
			
				B4X:
			
		
		
		#Region Module Attributes
    #FullScreen: False
    #IncludeTitle: True
    #ApplicationLabel: Bluetooth POS Printing
    #VersionCode: 1
    #VersionName:
    #SupportedOrientations: portrait
    #CanInstallToExternalStorage: False
#End Region
Sub Process_Globals
    Dim PrintBuffer As String
    Dim BtAdmin As BluetoothAdmin
    Dim BTConnection As Serial
    Dim Printer As TextWriter
End Sub
Sub Globals
   
End Sub
Sub Activity_Create(FirstTime As Boolean)
    If FirstTime Then
        BtAdmin.Initialize("BlueTooth")
        BTConnection.Initialize("Printer")
        Dim PairedDevices As Map
        PairedDevices = BTConnection.GetPairedDevices
        Dim l As List
        Dim DeviceName, MacAddress As String
        l.Initialize
        For i = 0 To PairedDevices.Size - 1 'Check all devices
            l.Add(PairedDevices.GetKeyAt(i))
            DeviceName=PairedDevices.Getkeyat(i)
            MacAddress=PairedDevices.GetValueAt(i)
            Log(DeviceName & " -> " & MacAddress)
            If DeviceName.Contains("Thermal") Then 'Insert the BT-Name of the printer or use the MAC address
                Exit
            End If
        Next
        BTConnection.Connect(MacAddress)
    End If
End Sub
Sub Activity_Resume
   
End Sub
Sub Activity_Pause
   
End Sub
Sub Printer_Connected (Success As Boolean)
    If Success Then
        Printer.Initialize2(BTConnection.OutputStream,"windows-1252") 'important to print f.e. German/French chars
        PrintBuffer=Chr(27)&"t"&Chr(16)&"Hello öäüßéèê" 'Set codepage 1252 
        Printer.WriteLine(PrintBuffer)
        Printer.Flush
        Msgbox("Printed!","")
        Printer.Close
        BTConnection.Disconnect 'disable this if you like
    Else
        Msgbox("No printer found...","Print error")
    End If
End Sub