AJUDA IMPRESSÃO
Ola existe um meio de imprimir em 2 impressoras de uma vez, meu sistema imprimi a nota promissória, queria também que imprimisse também um cupom não fiscal mas são 2 impressoras diferentes, portas diferentes.
Olá, FABRICIOWEB
Se você estiver usando Crystal Reports, basta usar SelectPrinter (exemplo para selecionar a impressora PDFCreator: ObjCR.SelectPrinter [Ô]PDFCreator[Ô], [Ô]PDFCreator[Ô], [Ô]PDFCreator[Ô])
Você selecionaria a primeira impressora (nota promissória) e enviaria a impressão. Depois seleciona a segunda impressora e envia o cupom não fiscal.
Uma outra alternativa seria mudar a impressora padrão para cada impressão. Um roteirio assim:
a) Guarde o nome da impressora padrão
b) Mude a impressora padrão para onde quer que seja impressa a nota promissória
c) Imprima a nota promissória
d) Mude a impressora padrão para onde quer que seja impresso o cumpom fiscal
e) Imprima o cupom fiscal
f) Devolva a impressora padrão para antes das suas impressões (que foi pego no item [Ô]a[Ô])
Se quiser usar esta forma, coloque o código abaixo em um módulo e use chamadas como:
e
[/c]
Se você estiver usando Crystal Reports, basta usar SelectPrinter (exemplo para selecionar a impressora PDFCreator: ObjCR.SelectPrinter [Ô]PDFCreator[Ô], [Ô]PDFCreator[Ô], [Ô]PDFCreator[Ô])
Você selecionaria a primeira impressora (nota promissória) e enviaria a impressão. Depois seleciona a segunda impressora e envia o cupom não fiscal.
Uma outra alternativa seria mudar a impressora padrão para cada impressão. Um roteirio assim:
a) Guarde o nome da impressora padrão
b) Mude a impressora padrão para onde quer que seja impressa a nota promissória
c) Imprima a nota promissória
d) Mude a impressora padrão para onde quer que seja impresso o cumpom fiscal
e) Imprima o cupom fiscal
f) Devolva a impressora padrão para antes das suas impressões (que foi pego no item [Ô]a[Ô])
Se quiser usar esta forma, coloque o código abaixo em um módulo e use chamadas como:
Set objPrinter = GetDefaultPrinter() [ô]Para ter o nome da impressora padrão
e
Call SetaImpressoraPadrao(aqui o nome da impressora a ficar como default) [ô]Para deixar uma impressora como padrão
[ô]--------------------------------------------------------------------------------------------------------------------------------------------------------
[ô] Chamada de API para mudar a impressora padrão !
[ô]--------------------------------------------------------------------------------------------------------------------------------------------------------
Public Declare Function SendMessageTimeout Lib [Ô]user32[Ô] Alias [Ô]SendMessageTimeoutA[Ô] (ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Any, ByVal fuFlags As Long, ByVal uTimeout As Long, lpdwResult As Long) As Long
Public Declare Function WriteProfileString Lib [Ô]kernel32[Ô] Alias [Ô]WriteProfileStringA[Ô] (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long
Public Const WM_WININICHANGE = &H1A
Public Const SMTO_NORMAL = &H0
Public Const HWND_BROADCAST = &HFFFF&
[/c]
[ô]--------------------------------------------------------------------------------------------------------------------------------------------------------
[ô] Chamada de API para saber qual a impressora padrão !
[ô]--------------------------------------------------------------------------------------------------------------------------------------------------------
Public Declare Function GetProfileString Lib [Ô]kernel32.dll[Ô] Alias [Ô]GetProfileStringA[Ô] (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
[ô]--------------------------------------------------------------------------------------------------------------------------------------------------------
[ô]Para mudar a impressora padrão !
[ô]--------------------------------------------------------------------------------------------------------------------------------------------------------
Public Sub SetaImpressoraPadrao(ByVal NomeDaImpressora As String)
On Error Resume Next
Dim ImpressoraPadrao As String
ImpressoraPadrao = NomeDaImpressora
WriteProfileString [Ô]windows[Ô], [Ô]device[Ô], ImpressoraPadrao & [Ô],[Ô] & ImpressoraPadrao & [Ô],[Ô] & Printer.Port
SendMessageTimeout HWND_BROADCAST, WM_WININICHANGE, 0, [Ô]windows[Ô], SMTO_NORMAL, 1000, 0
End Sub
[ô]--------------------------------------------------------------------------------------------------------------------------------------------------------
[ô]Retorna o nome da impressora padrão, o nome do driver e a porta (todos da impressora padrão) !
[ô]--------------------------------------------------------------------------------------------------------------------------------------------------------
Public Function GetDefaultPrinter() As Printer
On Error Resume Next
Dim strBuffer As String * 254
Dim iRetValue As Long
Dim strDefaultPrinterInfo As String
Dim tblDefaultPrinterInfo() As String
Dim objPrinter As Printer
[ô] pega as informacoes da impressora padrao
iRetValue = GetProfileString([Ô]windows[Ô], [Ô]device[Ô], [Ô],,,[Ô], strBuffer, 254)
strDefaultPrinterInfo = Left(strBuffer, InStr(strBuffer, Chr(0)) - 1)
tblDefaultPrinterInfo = Split(strDefaultPrinterInfo, [Ô],[Ô])
For Each objPrinter In Printers
If objPrinter.DeviceName = tblDefaultPrinterInfo(0) Then
[ô] se achou a impressora padrao então sai
Exit For
End If
Next
[ô] se nao achou retrona nothing
If objPrinter.DeviceName <> tblDefaultPrinterInfo(0) Then
Set objPrinter = Nothing
End If
Set GetDefaultPrinter = objPrinter
End Function
Existe alguma impresso virtual para cupom?
Depende do que você se refere.
Se fala em um emulador para cupom fiscal, de forma a testar seu software sem precisar da impressora fÃsica, a Bematech por exemplo tem.
Se quiser uma impressora virtual para PDF tem CutePDF, PDFCreator, etc.
Especificamente para cupom não sei se tem. Nem consigo vislumbrar uma vantagem para impressora virtual de cupom, já que cupom é um documento a ser entregue ao cliente e, portanto, precisa ser fÃsico.
Se fala em um emulador para cupom fiscal, de forma a testar seu software sem precisar da impressora fÃsica, a Bematech por exemplo tem.
Se quiser uma impressora virtual para PDF tem CutePDF, PDFCreator, etc.
Especificamente para cupom não sei se tem. Nem consigo vislumbrar uma vantagem para impressora virtual de cupom, já que cupom é um documento a ser entregue ao cliente e, portanto, precisa ser fÃsico.
emulador para cupom fiscal
Citação:Se fala em um emulador para cupom fiscal, de forma a testar seu software sem precisar da impressora fÃsica, a Bematech por exemplo tem.
To fazendo dessa forma usando um listbox tem como enviar direto para lpt1 a listbox inteira ja pronta?
Tópico encerrado , respostas não são mais permitidas