none
QRCode impressora elgin vox RRS feed

  • Pergunta

  • Olá a todos estou batendo a cabeça com a impressora vox.

    Mesmo atualizando o Firmware da impressora o QRCode não é corretamente impresso, segundo o suporte da elgin a impressora não tem capacidade de imprimir QRCode maiores que 2cm, mas independente da informação do suporte a verdade é que temos que gerar um QRCode em uma imagem e enviar para a impressora imprimindo uma imagem.

    Particularmente estou utilizando a dll MessagingToolkit.QRCode.dll para gerar o QRCode, e enviando para impressora utilizando o componente nativo do Visual Studio PrintDocument.

    A impressão esta saindo mas não de forma correta.

    Conforme a imagem abaixo veja que entre o QRCode e a informação de protocolo da nota há um espaço não programado.

    Aqui esta o código onde eu crio o QRCode e executo o comando para imprimir.

                        Dim PrintDocument1 As New Printing.PrintDocument
                        AddHandler PrintDocument1.PrintPage, AddressOf PrintDocument1_PrintPage
                        Dim url As String = Dr_cupom("cupom_link")
                        Dim qrencod As New MessagingToolkit.QRCode.Codec.QRCodeEncoder()
                        qrencod.QRCodeScale = 2
                        qrencod.QRCodeErrorCorrect = MessagingToolkit.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.M
                        Dim Bitmap_qrcode As Bitmap = qrencod.Encode(url)
                        PictureBox_Qrcode.SizeMode = PictureBoxSizeMode.AutoSize
                        PictureBox_Qrcode.Image = TryCast(Bitmap_qrcode, Image)
                        PictureBox_Qrcode.Image.Save(Application.StartupPath & "\Qrcode.bmp", System.Drawing.Imaging.ImageFormat.Bmp)
                        PrintDocument1.PrinterSettings.PrinterName = Configuracoes.NFCE.IMPRESSORA_MODELO
                        PrintDocument1.DefaultPageSettings.Margins.Top = 0
                        PrintDocument1.DefaultPageSettings.Margins.Bottom = 0
                        PrintDocument1.DefaultPageSettings.Margins.Left = 0
                        PrintDocument1.DefaultPageSettings.Margins.Right = 0
                        'MsgBox(PrintDocument1.DefaultPageSettings.PrintableArea.ToString)
                        PrintDocument1.OriginAtMargins = True
                        PrintDocument1.DefaultPageSettings.PaperSource.RawKind = System.Drawing.Printing.PaperSourceKind.TractorFeed
                        Dim pkCustomSize1 As New System.Drawing.Printing.PaperSize("Custom Paper Size", 800, PictureBox_Qrcode.Height)
                        PrintDocument1.PrinterSettings.DefaultPageSettings.PaperSize = pkCustomSize1
                        PrintDocument1.DefaultPageSettings.PaperSize = pkCustomSize1
                        PrintDocument1.Print()
        Private Shared Sub PrintDocument1_PrintPage(sender As System.Object, e As System.Drawing.Printing.PrintPageEventArgs)
            e.Graphics.DrawImage(PictureBox_Qrcode.Image, 75, 0, PictureBox_Qrcode.Width, PictureBox_Qrcode.Height)
            e.HasMorePages = False
        End Sub

    Acredito que o espaço excedente é por causa do componente PrintDocument mas não encontrei configurações necessárias para suprimir esse espaço. O código acima já contem algumas configurações que já fiz o teste mas não obtive sucesso.

    Obrigado a todos pela atenção.


    • Editado Everton ForSell quinta-feira, 15 de outubro de 2015 19:44 correção texto
    quinta-feira, 15 de outubro de 2015 19:42