Stampa diretta sulla stampante senza il print document

venerdì 04 marzo 2011 - 09.29

dompa72 Profilo | Senior Member

Scenario:
Ho la necessità di stampare dei bar code tramite una stampante termica. Per stampare basta inviare del testo (ben formattato) alla stampante definita nel S.O. con driver Gerica solo testo.
Ho sviluppato un applicativo in .net (prima in VB e ora in C#) tramite un printdocument invia alla stampante questo testo, tutto funziona correttamnte con il S.O. XP, ho provato la stessa cosa con un sistema operativo Vista, Seven e 2008R2 lo stesso applicativo non invia correttamente questi dai. Le stringhe che scrive nel printdocument le ho copiate in un file e tramite notepad stampa correttamente, a questo punto non so più cosa fare.
Il print document non è formattato ha solo una serie di stringhe una sotto l'altra.
Voglio solo precisare che ho utilizzato lo stesso programma sviluppato che su XP (ho provato su più PC) funziona correttamente ma non su S.O. più aggiornati.
Esiste un modo per evitare un print document per l'invio di semplici stringhe alla stampante???
Esiste un modo per inviare le stringhe ad una stampante di rete (192.168.x.x) senza passare tramite driver???
Sto diventando matto da una settimana.
Grazie

ridaria Profilo | Expert

Se non vuoi usare il print document, necessario se usi .net, devi utilizzare il componente:
Microsoft.VisualBasic.PowerPacks.Printing.Compatibility.VB6.

Con questo potrai lanciare le stampe senza printDocument, come si faceeva prima in vb 6.

Sub Stampa ()
.. istruzioni da mandare alla stampante

end sub

ciao
Riccardo D'Aria

dompa72 Profilo | Senior Member

>Se non vuoi usare il print document, necessario se usi .net,
>devi utilizzare il componente:
>Microsoft.VisualBasic.PowerPacks.Printing.Compatibility.VB6.
>
>Con questo potrai lanciare le stampe senza printDocument, come
>si faceeva prima in vb 6.
>
>Sub Stampa ()
> .. istruzioni da mandare alla stampante
>
>end sub
>
>ciao
>Riccardo D'Aria

Non esiste un modi per inviare delle stringhe ad un indirizzo IP oppure un comando dos per inviare dati ad una porta di rete "TYPE filetesto > LPT1" al posto di LPT1 come posso inserire un indirizzo IP???

MarKonE Profilo | Guru

Ciao,

io su XP tramite Access (VBA) utilizzavo il comando dos PRINT, al quale passavo un file di testo contenente le istruzioni per la stampa, verso LPT1 mappata sull'ip della stampante.

Vedi se fa al caso tuo.

CIAO !
My Blog... http://blogs.dotnethell.it/Mark/

dompa72 Profilo | Senior Member

Il problema che la stampante deve essere dinamica, l'applicazione stampa su 5 stampanti termiche che non sono collegate fisicamente ad un PC, per questo motivo non posso mappare queste stampanti alla prorta LPT.
Lo so che sembra uno scenario strano, qualcuno mi riesce ad aiutare????

MarKonE Profilo | Guru

Chiedo scusa ma lo scenario non mi è chiaro.

Queste 5 stampanti vengono collegate una alla volta al bisogno ? Tramite che tipo di cavo ?

Ciao !

My Blog... http://blogs.dotnethell.it/Mark/

dompa72 Profilo | Senior Member

sono fisicamente collegate alla rete, quindi con degli IP.
ho provato anche con il comando print del DOS ma non ci riesco
Tutto pensavo tranne di avere questo tipo di problema?

MarKonE Profilo | Guru

Non riesci a mappare, tramite il comando NET USE, una singola stampante come LPT1 ?

Ti basterebbe eliminare la mappatura e ricrearla prima di utilizzare una stampante diversa dalla precedente.

Ciao !

My Blog... http://blogs.dotnethell.it/Mark/

dompa72 Profilo | Senior Member

Mi stai dicendo di farlo ogni volta, questo potrei farlo

MarKonE Profilo | Guru

Ogni volta... da codice quindi in automatico :)

Net use /delete per eliminare la mappatura preesistente...seguito da un nuovo net use per mappare la stampante da utilizzare.

Ciao !

My Blog... http://blogs.dotnethell.it/Mark/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5