IMPRESSAO DE CUPOM FISCAL
Olá a todos...
Em VB6 eu utilizava o PRINTER para fazer impressões em Scala X e Y.
Mas em C#, como eu poderia fazer ??
Alguém tem alguma idéia ??
Vlw Abraços!!
Em VB6 eu utilizava o PRINTER para fazer impressões em Scala X e Y.
Mas em C#, como eu poderia fazer ??
Alguém tem alguma idéia ??
Vlw Abraços!!
Vc não estaria se referindo a CUPOM NÃO FISCAL ????
Se for CUPOM FISCAL, a própria impressora faz a impressão através das DLLs.
Se for CUPOM NÃO FISCAL tbem conhecido como COMPROVANTE DE VENDA, vc poderá adaptar o seguinte exemplo.
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=8629
Lembrando que não é o objeto PRINTER, mas sim algo como o PRINT.
Se for CUPOM FISCAL, a própria impressora faz a impressão através das DLLs.
Se for CUPOM NÃO FISCAL tbem conhecido como COMPROVANTE DE VENDA, vc poderá adaptar o seguinte exemplo.
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=8629
Lembrando que não é o objeto PRINTER, mas sim algo como o PRINT.
Ok, Ok ... rsrsrs
é Cupom NÃO FISCAL mesmo, errei.
Quanto ao PRINT, eu sabia dele, mas usava o PRINTER mesmo, tinha o driver windows impressora somente texto na LPT1, eu na verdade usava o printer pois dependia desse maldito driver, hj eu sei q pelo PRINT eu não precisava dele, mas faze oq neh. rsrsrs
Então FOXMAN, o projetinho, parece bem promissor, vou confiar nele sim.
Agora sem esse Componente existe algo direto do C# q consiga fazer isso ou não ??
Flw abraços !!!
é Cupom NÃO FISCAL mesmo, errei.
Quanto ao PRINT, eu sabia dele, mas usava o PRINTER mesmo, tinha o driver windows impressora somente texto na LPT1, eu na verdade usava o printer pois dependia desse maldito driver, hj eu sei q pelo PRINT eu não precisava dele, mas faze oq neh. rsrsrs
Então FOXMAN, o projetinho, parece bem promissor, vou confiar nele sim.
Agora sem esse Componente existe algo direto do C# q consiga fazer isso ou não ??
Flw abraços !!!
Citação::
Ok, Ok ... rsrsrs
é Cupom NÃO FISCAL mesmo, errei.
Quanto ao PRINT, eu sabia dele, mas usava o PRINTER mesmo, tinha o driver windows impressora somente texto na LPT1, eu na verdade usava o printer pois dependia desse maldito driver, hj eu sei q pelo PRINT eu não precisava dele, mas faze oq neh. rsrsrs
Então FOXMAN, o projetinho, parece bem promissor, vou confiar nele sim.
Agora sem esse Componente existe algo direto do C# q consiga fazer isso ou não ??
Flw abraços !!!
Vc pode criar sua classe partindo desse projeto, eu mesmo converti ele para vb.net e criei a minha própria classe.
a classe em vb.net é essa :
Imports System.IO
Imports System.Runtime.InteropServices
Public Class Print
[ô] Methods
Private Function [Chr](ByVal asc As Integer) As String
Dim str As String = [Ô][Ô]
Return (str & DirectCast(ChrW(asc), Char))
End Function
<DllImport([Ô]kernel32.dll[Ô])> _
Private Shared Function CloseHandle(ByVal hObject As Integer) As Integer
End Function
<DllImport([Ô]kernel32.dll[Ô])> _
Private Shared Function CreateFileA(ByVal lpFileName As String, ByVal dwDesiredAccess As Integer, ByVal dwShareMode As Integer, ByVal lpSecurityAttributes As Integer, ByVal dwCreationDisposition As Integer, ByVal dwFlagsAndAttributes As Integer, ByVal hTemplateFile As Integer) As Integer
End Function
Public Sub Eject()
Me.Imp([Ô]?[Ô])
End Sub
Public Sub Fim()
If Me.lOK Then
Me.fileWriter.Close()
Me.outFile.Close()
Print.CloseHandle(Me.hPort)
Me.lOK = False
End If
End Sub
Public Sub Imp(ByVal sLinha As String)
If Me.lOK Then
Me.fileWriter.Write(sLinha)
Me.fileWriter.Flush()
End If
End Sub
Public Sub ImpCol(ByVal nCol As Integer, ByVal sLinha As String)
Dim str As String = [Ô][Ô]
Me.Imp((Me.Chr(13) & str.PadLeft(nCol, [Ô] [Ô]c) & sLinha))
End Sub
Public Sub ImpColLF(ByVal nCol As Integer, ByVal sLinha As String)
Me.ImpCol(nCol, sLinha)
Me.Pula(1)
End Sub
Public Sub ImpLF(ByVal sLinha As String)
If Me.lOK Then
Me.fileWriter.WriteLine(sLinha)
Me.fileWriter.Flush()
End If
End Sub
Public Function Inicio(ByVal sPortaInicio As String) As Boolean
sPortaInicio.ToUpper()
If (sPortaInicio.Substring(0, 3) <> [Ô]LPT[Ô]) Then
Throw New PortaException
End If
Me.sPorta = sPortaInicio
Me.hPort = Print.CreateFileA(Me.sPorta, Me.GENERIC_WRITE, Me.FILE_SHARE_WRITE, 0, Me.OPEN_EXISTING, 0, 0)
If (Me.hPort <> -1) Then
Me.hPortP = New IntPtr(Me.hPort)
Me.outFile = New FileStream(Me.hPortP, FileAccess.Write, False)
Me.fileWriter = New StreamWriter(Me.outFile)
Me.lOK = True
Else
Me.lOK = False
End If
Return Me.lOK
End Function
Public Sub Pula(ByVal nLinha As Integer)
Dim i As Integer
For i = 0 To nLinha - 1
Me.ImpLF([Ô][Ô])
Next i
End Sub
[ô] Properties
Public ReadOnly Property Comprimido() As String
Get
Return Me.Chr(15)
End Get
End Property
Public ReadOnly Property Expandido() As String
Get
Return Me.Chr(14)
End Get
End Property
Public ReadOnly Property ExpandidoNormal() As String
Get
Return Me.Chr(20)
End Get
End Property
Public ReadOnly Property NegritoOff() As String
Get
Return (Me.Chr(&H1B) & Me.Chr(70))
End Get
End Property
Public ReadOnly Property NegritoOn() As String
Get
Return (Me.Chr(&H1B) & Me.Chr(&H45))
End Get
End Property
Public ReadOnly Property Normal() As String
Get
Return Me.Chr(&H12)
End Get
End Property
[ô] Fields
Private FILE_SHARE_WRITE As Integer = 2
Private fileWriter As StreamWriter
Private GENERIC_WRITE As Integer = &H40000000
Private hPort As Integer
Private hPortP As IntPtr
Private lOK As Boolean
Private OPEN_EXISTING As Integer = 3
Private outFile As FileStream
Private sPorta As String = [Ô]LPT1[Ô]
End Class
e essa
Friend Class PortaException
Inherits Exception
[ô] Methods
Public Sub New()
End Sub
End Class
Se quiser a classe em C# me avise.
Tópico encerrado , respostas não são mais permitidas