MATRICIAL COM VB.NET EM USB
Pessoal,
Como que vcs estão fazendo para imprimir um cupom não fiscal em mattricial com vb.net e porta usb.
Tem aparecido muitas impressoras com saida USB, no VB6 , Sem problemas, eu compartilho a impressora e chamo assim:
Open [Ô][Ô] & MatricialCompartilhada & [Ô][Ô] For Output As #1
Isso resolve, mas no VB 2010 não existe essa chamada, e se vc não chamar a impressora via DOS, ela imprimi a pagina
inteira, o que não pode acontecer pois a impressão deve parar ao final dos itens e Totais.
Alguem tem conseguido isso ?
Utilizar o DOSPRINT, não queria ficar com componentes de terceiros vinculado, embora não testei ainda se funcina mesmo,
só ouvi dizer, fazer a chamada assim: TYPE C:\Pedido.Txt >prn
tambem não esta dando jeito.
Alguma luz ?
Como que vcs estão fazendo para imprimir um cupom não fiscal em mattricial com vb.net e porta usb.
Tem aparecido muitas impressoras com saida USB, no VB6 , Sem problemas, eu compartilho a impressora e chamo assim:
Open [Ô][Ô] & MatricialCompartilhada & [Ô][Ô] For Output As #1
Isso resolve, mas no VB 2010 não existe essa chamada, e se vc não chamar a impressora via DOS, ela imprimi a pagina
inteira, o que não pode acontecer pois a impressão deve parar ao final dos itens e Totais.
Alguem tem conseguido isso ?
Utilizar o DOSPRINT, não queria ficar com componentes de terceiros vinculado, embora não testei ainda se funcina mesmo,
só ouvi dizer, fazer a chamada assim: TYPE C:\Pedido.Txt >prn
tambem não esta dando jeito.
Alguma luz ?
Acho que o jeito sera criar uma dll no vb6 para chamar a impressão pelo metodo Print do vb6.
Agora até quando tera suporte no windos essa dll, não sei.
Agora até quando tera suporte no windos essa dll, não sei.
Caro NILSONTRES
Já começa o desenvolvimento em VB.Net ou C# nesta dll pois já é possivel suporte para o XP/7 e 8
Não muda muito veja este excemplo:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sw As New IO.StreamWriter([Ô]C:LIXOLista.txt[Ô])
sw.WriteLine(Chr(27) & [Ô]0[Ô])
sw.WriteLine(Space(10) & Mid([Ô]APENAS UM TESTE 1[Ô], 1, 30))
[ô]ATIVAR NEGRITO
sw.WriteLine(Chr(27) & [Ô]E[Ô])
sw.WriteLine(Space(10) & Mid([Ô]APENAS UM TESTE 2[Ô], 1, 30))
[ô]DESATIVAR NEGRITO
sw.WriteLine(Chr(27) & [Ô]F[Ô])
[ô]ATIVAR ITALICO
sw.WriteLine(Chr(27) & [Ô]4[Ô])
sw.WriteLine(Space(10) & Mid([Ô]APENAS UM TESTE 3[Ô], 1, 30))
[ô]DESATIVAR ITALICO
sw.WriteLine(Chr(27) & [Ô]5[Ô])
[ô]ATIVAR CONDENSADO
sw.WriteLine(Chr(27) & Chr(15))
sw.WriteLine(Space(10) & Mid([Ô]APENAS UM TESTE 4[Ô], 1, 30))
[ô]DESATIVAR CONDENSADO
sw.WriteLine(Chr(18))
sw.WriteLine([Ô][Ô])
sw.WriteLine([Ô][Ô])
sw.Flush()
sw.Close()
Dim s1 As New IO.StreamWriter([Ô]C:LIXOImprimi.bat[Ô])
s1.Write([Ô]TYPE C:LIXOLista.Txt >prn[Ô])
s1.Flush()
s1.Close()
System.Diagnostics.Process.Start([Ô]C:LIXOImprimi.bat[Ô])
End Sub
Boa Sorte
Já começa o desenvolvimento em VB.Net ou C# nesta dll pois já é possivel suporte para o XP/7 e 8
Não muda muito veja este excemplo:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sw As New IO.StreamWriter([Ô]C:LIXOLista.txt[Ô])
sw.WriteLine(Chr(27) & [Ô]0[Ô])
sw.WriteLine(Space(10) & Mid([Ô]APENAS UM TESTE 1[Ô], 1, 30))
[ô]ATIVAR NEGRITO
sw.WriteLine(Chr(27) & [Ô]E[Ô])
sw.WriteLine(Space(10) & Mid([Ô]APENAS UM TESTE 2[Ô], 1, 30))
[ô]DESATIVAR NEGRITO
sw.WriteLine(Chr(27) & [Ô]F[Ô])
[ô]ATIVAR ITALICO
sw.WriteLine(Chr(27) & [Ô]4[Ô])
sw.WriteLine(Space(10) & Mid([Ô]APENAS UM TESTE 3[Ô], 1, 30))
[ô]DESATIVAR ITALICO
sw.WriteLine(Chr(27) & [Ô]5[Ô])
[ô]ATIVAR CONDENSADO
sw.WriteLine(Chr(27) & Chr(15))
sw.WriteLine(Space(10) & Mid([Ô]APENAS UM TESTE 4[Ô], 1, 30))
[ô]DESATIVAR CONDENSADO
sw.WriteLine(Chr(18))
sw.WriteLine([Ô][Ô])
sw.WriteLine([Ô][Ô])
sw.Flush()
sw.Close()
Dim s1 As New IO.StreamWriter([Ô]C:LIXOImprimi.bat[Ô])
s1.Write([Ô]TYPE C:LIXOLista.Txt >prn[Ô])
s1.Flush()
s1.Close()
System.Diagnostics.Process.Start([Ô]C:LIXOImprimi.bat[Ô])
End Sub
Boa Sorte
AJSO,
Então, tenho esse codigo, e funciona beleza com a imptressora na lpt1, o problema é, não chama a impressora LX-300 por exemplo, se ela estiver plugada via adaptador USB.
Eu disse fazer a dll em VB6, para poder chamar Open [Ô][Ô] & MatricialCompartilhada & [Ô][Ô] For Output As #1
Que resolve esse problema, mas em .net não da.
Então, tenho esse codigo, e funciona beleza com a imptressora na lpt1, o problema é, não chama a impressora LX-300 por exemplo, se ela estiver plugada via adaptador USB.
Eu disse fazer a dll em VB6, para poder chamar Open [Ô][Ô] & MatricialCompartilhada & [Ô][Ô] For Output As #1
Que resolve esse problema, mas em .net não da.
Veja se é isso aqui que você quer: http://support.microsoft.com/kb/322090/en-us
Caro NILSONTRES
IO.StreamWriter
IO.StreamReader
é uma versão do Framework para utilização de utilixzação de Leitura e escrita
Estab chamada foi substituida por outras que fazem igualmente e melhor no Framework
Este é exatamente para VB.Net
FileOpen(1, MatricialCompartilhada, OpenMode.Output)
Print(textolinha)
[ô] Caso queira utilizar linha por linha
[ô] PrintLine(1, textolinha)
FileClose(1)
Você deve compartilhar a impressora no própiro micro e manda para o compartilhamento do micro local, fica assim seu MatricialCompartilhada = [Ô]\\micro\compartilhamento[Ô]
coloquei um exemplo com fontes para darem uma olhada............
Boa sorte
IO.StreamWriter
IO.StreamReader
é uma versão do Framework para utilização de utilixzação de Leitura e escrita
Citação::
Open [Ô][Ô] & MatricialCompartilhada & [Ô][Ô] For Output As #1
Estab chamada foi substituida por outras que fazem igualmente e melhor no Framework
Este é exatamente para VB.Net
FileOpen(1, MatricialCompartilhada, OpenMode.Output)
Print(textolinha)
[ô] Caso queira utilizar linha por linha
[ô] PrintLine(1, textolinha)
FileClose(1)
Você deve compartilhar a impressora no própiro micro e manda para o compartilhamento do micro local, fica assim seu MatricialCompartilhada = [Ô]\\micro\compartilhamento[Ô]
coloquei um exemplo com fontes para darem uma olhada............
Boa sorte
AJSO,
Primeiramente obrigado por se interessar em me ajudar.
Não sabia, achava que isso só manipulava arquivos.
Então, utilizando seu exemplo e mais um outro semelhante ao seu que encontrei no google, recebo a seguinte mensagem de erro.
[Ô]FileStream foi solicitado a abrir um dispositivo que não era um arquivo. Para obter suporte para dispositivos como [ô]com1:[ô] ou [ô]lpt1:[ô], chame CreateFile e use os construtores de FileStream que utilizam um manipulador do sistema operacional como um IntPtr.[Ô]
Nessa linha:
FileOpen(1, [Ô]\
ag_64\LX-300[Ô], OpenMode.Output)
Pelo que entendi, esta realmente fazendo a chamada a impressora, mas diz que de uma maneira errada, é claro que uma mensagem pode
estar ligada direta ou indiretamente ao problema.
O que sera ? Não entendi como utilizar o CreateFile.
Obrigado
Primeiramente obrigado por se interessar em me ajudar.
Não sabia, achava que isso só manipulava arquivos.
Então, utilizando seu exemplo e mais um outro semelhante ao seu que encontrei no google, recebo a seguinte mensagem de erro.
[Ô]FileStream foi solicitado a abrir um dispositivo que não era um arquivo. Para obter suporte para dispositivos como [ô]com1:[ô] ou [ô]lpt1:[ô], chame CreateFile e use os construtores de FileStream que utilizam um manipulador do sistema operacional como um IntPtr.[Ô]
Nessa linha:
FileOpen(1, [Ô]\
ag_64\LX-300[Ô], OpenMode.Output)
Pelo que entendi, esta realmente fazendo a chamada a impressora, mas diz que de uma maneira errada, é claro que uma mensagem pode
estar ligada direta ou indiretamente ao problema.
O que sera ? Não entendi como utilizar o CreateFile.
Obrigado
olha só:
Consegui fazendo dessa forma:
System.IO.File.Copy([Ô]c:\cupom.txt[Ô], [Ô]\
agescritorio\EpsonLX300[Ô])
ou
System.IO.File.Copy([Ô]c:\cupom.txt[Ô], [Ô]LPT1[Ô])
O primeiro metodo é bom porque resolve até a questão de a impressora estar ligada na USB.
é Claro que utilzando o metodo createfile, acho que devamos ter o controle sobre a porta, e controlar melhor a impressão, como espaçamento, fonte etc.
Se aparecer algo a esse nivel melhor.
Consegui fazendo dessa forma:
System.IO.File.Copy([Ô]c:\cupom.txt[Ô], [Ô]\
agescritorio\EpsonLX300[Ô])
ou
System.IO.File.Copy([Ô]c:\cupom.txt[Ô], [Ô]LPT1[Ô])
O primeiro metodo é bom porque resolve até a questão de a impressora estar ligada na USB.
é Claro que utilzando o metodo createfile, acho que devamos ter o controle sobre a porta, e controlar melhor a impressão, como espaçamento, fonte etc.
Se aparecer algo a esse nivel melhor.
Caro NILSONTRES
[ô]Caso a menssage mfor esta [Ô]FileStream was asked to open a device that was not a file[Ô][Ô][Ô][Ô][Ô][Ô][Ô][Ô][ô]
Na máquina em que você esta desenvolven do será necessário utilizar esta referencia no projeto pois trata-se de versóes antigas do visual Basic
Faça esta referencia no seu projeto para executar estes comando que lhe passei
Adicionar esta biblioteca no seu projeto onde executa a o Comando [ô]FileOpen(1, MatricialCompartilhada, OpenMode.Output)[ô]
Imports Microsoft.VisualBasic.FileIO
Boa sorte
[ô]Caso a menssage mfor esta [Ô]FileStream was asked to open a device that was not a file[Ô][Ô][Ô][Ô][Ô][Ô][Ô][Ô][ô]
Na máquina em que você esta desenvolven do será necessário utilizar esta referencia no projeto pois trata-se de versóes antigas do visual Basic
Faça esta referencia no seu projeto para executar estes comando que lhe passei
Adicionar esta biblioteca no seu projeto onde executa a o Comando [ô]FileOpen(1, MatricialCompartilhada, OpenMode.Output)[ô]
Imports Microsoft.VisualBasic.FileIO
Boa sorte
AJSO,
A Mensagem é essa mesmo, mas não adiantou referenciar Imports Microsoft.VisualBasic.FileIO
Continua o erro.
A Mensagem é essa mesmo, mas não adiantou referenciar Imports Microsoft.VisualBasic.FileIO
Continua o erro.
Caro NILSONTRES
Sabe o que eu percebi é que se rodar este comando em um Visual Studio 2005 Projeto VB.Net Framework 2.0 com Sistema Operacional Windows Professional XP x86 funciona sem problemas
Mas se passar estes mesmo comando para Visual Studio 2012 Projeto VB.Net Framework 4.0 com Sistema Operacional Windows Seven Ultimate tanto x86 e x64 o problema persistes
Vou investigar para analisar este problema se é por causa do framework ou do S.O.
Vou colocar em anexo um projetinho básico feito em VS2012 framework 4.0 que testei
Boa sorte
Citação::
AJSO,
A Mensagem é essa mesmo, mas não adiantou referenciar Imports Microsoft.VisualBasic.FileIO
Continua o erro.
Sabe o que eu percebi é que se rodar este comando em um Visual Studio 2005 Projeto VB.Net Framework 2.0 com Sistema Operacional Windows Professional XP x86 funciona sem problemas
Mas se passar estes mesmo comando para Visual Studio 2012 Projeto VB.Net Framework 4.0 com Sistema Operacional Windows Seven Ultimate tanto x86 e x64 o problema persistes
Vou investigar para analisar este problema se é por causa do framework ou do S.O.
Vou colocar em anexo um projetinho básico feito em VS2012 framework 4.0 que testei
Boa sorte
Tópico encerrado , respostas não são mais permitidas