Jump to content
Sign in to follow this  
Nuno

Impressão Modo USB

Recommended Posts

Nuno

Boas Pessoal,

Bem deparei-me com um problema relativamente estranho que após ter tentado 1001 forma ainda não consegui dar a volta.

Portanto tenho uma aplicação vb.net que imprime em formato talão alguns dados, acontece que surgiu um cliente que não dispões de impressora talão mas sim uma A4, até aqui nenhum problema pois deveria funcionar perfeitamente mas por sua vez o que acontece é que a impressora recebe o documento a imprimir, recolhe a folha na impressora e não faz mais nada durante algum tempo (cerca 5min) e depois imprime.

Coisas que descobri após vários testes:

1 - Só acontece se a impressora estiver ligada por USB pois por rede não existe qualquer problema (porta paralela não testada)

2 - caso a impressão seja por exemplo 3 páginas, imprime as duas primeiras e a 3 página fica em spool como se tivesse a aguardar alguma informação

3 - caso imprima logo de seguida outro documento e estando o documento anterior ainda em spool imprime a impressão anterior e a nova na mesma folha.

suponho que seja alguma linha de código que falte acrescentar para finalizar documento mas não faço menos ideia o que seja.

Alguém faz ideia o que possa ser?

Share this post


Link to post
Share on other sites
nelsonr

Boas,

como é que estás a imprimir? Usando o PrintDocument?

Estás a colocar o objecto de impressão dentro de um using ou a forçar o dispose no final?

Share this post


Link to post
Share on other sites
Nuno

uso a seguinte funçao para enviar para a impressora, penso que te referes a isto.

Public Shared Sub SendStringToPrinter(ByVal szPrinterName As String, ByVal szString As String)
       Dim pBytes As IntPtr
       Dim dwCount As Int32
       ' How many characters are in the string?
       dwCount = szString.Length()
       ' Assume that the printer is expecting ANSI text, and then convert
       ' the string to ANSI text.
       pBytes = Marshal.StringToHGlobalAnsi(szString)
       ' Send the converted ANSI string to the printer.
       SendBytesToPrinter(szPrinterName, pBytes, dwCount)
       Marshal.FreeCoTaskMem(pBytes)
   End Sub

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.