Italian libreria sd_bt_printer

lelelor

Active Member
Licensed User
spero di fare giusto a scrivere in italiano, posto il progetto che sto realizzando su un palmare con stampante integrata, il mio problema è che non riesco a stampare pur avendo lo stesso codice dell'esempio. Vorrei che all'avvio della app si inizializzasse la stampante "pronta a stampare", avendo un MAC suo interno programmabile userei sempre quello.


grazie e Buona Pasqua
 

Star-Dust

Expert
Licensed User
Longtime User
Stavolta hai scritto giusto.

Ma sei integrata la connetti.it con bluetooth?
Pensavo che la dovesse connettere come su rete LAN.

Lo provo stasera e ti faccio sapere
 

Star-Dust

Expert
Licensed User
Longtime User
C'è qualche errore:
  • Inizializzi la classe prima di ogni stampa, ma va fatto una volta sola all'avvio dell'App.
  • Stampi e chiudi il canale. Non devi chiudere se devi stampare ancora.

Ti allego un esempio semplice. Ovviamente devi sostituire con il tuo MacAddr
 

Attachments

  • Bluetooth Tester.zip
    9.6 KB · Views: 247

lelelor

Active Member
Licensed User
buonasera, ho fatto molti passi in avanti, ora ho il problema di poter dire alla stampante che i barcode siano in formato ean13, è possibile?
comunque mostro un esempio del risultato ottenuto grazie alle Sue indicazioni, grazie
 

Attachments

  • etichette.jpg
    34.4 KB · Views: 240

Star-Dust

Expert
Licensed User
Longtime User
Puoi creare l'immagine del codice con una libreria.

Ad esempio questa:

L'immagine ottenuta la mandi in stampa. Ovviamente dev'essere in bianco e nero e devi ridurla alle misure che la stampante può accettare.
Una stampante 80mm accetta come larghezza 330 pixel.
 

lelelor

Active Member
Licensed User
Buongiorno, i miei studi grazie alla libreria procedono, due problemi:
non mi stampa il simbolo "€" ,come alternativa ho caricato una immagine ma non riesco a stamparla sulla stessa riga del prezzo (allego foto)
ho creato il barcode come immagine ma non riesco a dimensionarlo

Grazie per la pazienza
 

Attachments

  • etichetta.jpg
    164.6 KB · Views: 224

Star-Dust

Expert
Licensed User
Longtime User
Per stampare l'euro bisogna cambiare l'Encoding o il Code Page che permette di accedere agli altri caratteri
 

lelelor

Active Member
Licensed User
ancora io, ho provato a dimensionare il barcode creato in una immagine ma più di tanto non si ingrandisce, comunque a me andrebbe bene stampare direttamente con il comando della libreria .barcode ma non viene letto dallo scanner...
ho inoltre provato con codepage più disparati ma il simbolo € non riesco proprio a farlo stampare
riesco a farlo stampare dimensionando una immagine ma poi sulla stessa riga non riesco a mettere il prezzo, dovrei creare una anteprima con € e prezzo? unica soluzione?

sono appassionato di parole crociate ma B4A è una valida alternativa...
Grazie 1000
 

Star-Dust

Expert
Licensed User
Longtime User
Il comando barcode funziona se la stampante supporta questo metodo, te ne puoi accettare leggendo il manuale..

Non devi necessariamente ingrandire un barcode l'importante è che non superi i 330 pixel di larghezza, se inferiore va bene lo stesso.

Per la stampa del carattere euro ti faccio sapere
 
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
B4A sotto il cofano ha Java che la maggioranza usano per sviluppare in Android. Non è un rompicapo peggiore di Java che useresti altrimenti , anzi ti facilità la scrittura che Java per Android è molto prolissa.
Il problema non è B4A che ti complica le cose, ma la tua stampante che presumibilmente è economica.

Precisato questo, il caratteri speciali se non sono presenti nel CodePage che usi sicuramente sarà presente nel code Page 858 dove ci sono tutti i caratteri speciali. Ovviamente se hai una stampante cinese usa l'Econding cinese come nell'esempio che ti hop postato a seguire.
Di solito inizializziamo la libreria con l'encoding UTF8 che è usato dai dispositivi mobili, ma nelle stampanti cinesi è meglio comunicare con il loro encoding.

B4X:
Printer.CodeTable=Encoding.Code_PC858
Printer.ChangeEncoding(Encoding.Chinese)
Printer.AddBuffer_WriteLine("10 €.")

Nella mia stampante cinese economica, questo funziona. Se non dovesse funzionare devi provare altri encoding e altri CodePage. Puoi trovare aiuto su internet inserendo il modello della tua stampante.
Stesso lavoro che faresti con qualsiasi altri linguaggio di programmazione, questo è un problema di comunicazione (ESC/POS) con la tua stampante
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…