Passare font alla stampa

di Sabry il
26 risposte

Salve ,sto cercando di fare una semplice stampa con una piccola stampante termica tipo pos grafica

riesco a stampare ma non mi riesce a passare i font .mi aiutate grazie .

vi allego il metodo usato che funziona .ma i caratteri sono sempre gli stessi piccoli .

Imports System.IO
Imports System.IO.Ports
Imports System.Threading

Public Class Form1

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

       ' Dichiaro una variabile di tipo SerialPort per gestire la connessione bluetooth
       Dim bluetoothPort As SerialPort

       ' Dichiaro una variabile di tipo stringa per memorizzare il testo da stampare
       Dim textToPrint As String
       ' Inizializzo la variabile con il testo che voglio stampare
       textToPrint = "Ciao, questo è un testo stampato via bluetooth"
       ' Creo un nuovo oggetto SerialPort con i parametri della porta COM del dispositivo bluetooth
       bluetoothPort = New SerialPort("COM4", 9600, Parity.None, 8, StopBits.One)
       ' Apro la connessione bluetooth
       bluetoothPort.Open()
       ' Scrivo il testo da stampare sulla connessione bluetooth
       Print(textToPrint)
       ' Chiudo la connessione bluetooth
       bluetoothPort.Close()
   End Sub
End Class

26 Risposte

  • Il codice deve essere postato formattato sul forum, vedi come fare dal Regolamento.

    La stampante supporta il cambio di font? Hai il manuale da cui leggere se si può fare e con quale comando da inviare? Di quale stampante esattamente parliamo?

  • No il manuale non è uscito .la uso per fare scontrini e mi stampa sia in grassetto sia i codici a barre .

    È una mini thermal printer netum

    Model nt1809dd

  • Senza un manuale d'uso della stampante la vedo molto difficile

    Prova a scrivere una mail al supporto del produttore

  • Ok grazie 

  • Da quel che mi risulta la NETUM NT-1809DD supporta il set di comandi ESC, POS e STAR

  • In questo caso si possono provare i seguenti comandi

    https://escpos.readthedocs.io/en/latest/font_cmds.html

    però non si possono “passare” font, bensì selezionarne uno tra due (A e B) predefiniti con la stampante.

    Poi dipende dal modello

  • Si ti ringrazio e cosi.

    solo che sto provando ma con il comando write non stampa nulla ,stampa solo se uso writeline ma quei codici di esempio non so come usarli 

  • Mostraci il codice che usi e che funziona (quello con writeline) 

  •  Dim com1 As IO.Ports.SerialPort = Nothing
            Try
                com1 = My.Computer.Ports.OpenSerialPort("COM4")
                com1.WriteLine("prova stampa")
            Catch ex As Exception
                MsgBox(ex.Message)
            Finally
                If com1 IsNot Nothing Then com1.Close()
            End Try

    cosi mi stampa ,io avrei necessita di scriver in grassetto e con caratteri piu grandi 

    i driver della stampante ci sono .la uso tranquillamente con qualsiasi app per scontrini .

  • Per il grassetto prova

    com1.WriteLine("PROVA \x1b\x21\x08GRASSETTO\x1b\x21\x00 PROVA")
  • Me la legge tutta come una stringa unica e non in grassetto

  • Metti all'inizio

    Dim escBON As String, escBOFF As String
    escBON = Strings.Chr(27) + Strings.Chr(33) + Strings.Chr(1)
    escBOFF = Strings.Chr(27) + Strings.Chr(33) + Strings.Chr(0) 

    e po usa

    com1.WriteLine("PROVA " + escBON + "GRASSETTO" + escBOFF + " PROVA")
  • Mi scrive “prova grassetto prova” dove grassetto e di caratteri piu piccoli ma non in grassetto

  • Senti… io faccio delle prove secondo il protocollo ma non so se la stampante lo rispetta.

    Quindi devi essere tu a PROVARE con altri codici seguendo quel documento e non solo riportare qui “fa questo o fa quello”. 

    Non avendo la stampante a disposizione per le prove non posso fare di più quindi devi essere tu a cercare le soluzioni in pratica.   

Devi accedere o registrarti per scrivere nel forum
26 risposte