IMPRESSAO DE CUPOM FISCAL

ESLEYSANCHES 07/05/2010 10:20:43
#341176
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!!
FOXMAN 07/05/2010 10:31:46
#341178
Resposta escolhida
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.



ESLEYSANCHES 07/05/2010 10:40:41
#341180
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 !!!
FOXMAN 12/05/2010 10:50:28
#341559
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