[VB 2005] Stampante ad aghi

mercoledì 15 ottobre 2008 - 16.47

Vash Profilo | Junior Member

ciao a tutti,
qualcuno di voi ha mai avuto l'esigenza di dover stampare su una stampante ad aghi del semplice testo tramite un programma in vb?

il mio problema è che dovrei stampare su dei fogli a modulo continuo, tipo le fatture, del testo in posizioni prestabilite.
di solito la segretaria usa una vecchia macchina da scrivere ma se sbagli a battere un carattere bisogna iniziare da capo.
C'è un metodo di inviare questi dati da una WinForm in VB 2005/2008
alla stampante ad aghi?

grazie

alexmed Profilo | Guru

Ciao
Mitica la segretaraia!

Io non ho mai avuto questa necessità ma mi chiedevo:
Se gli dai un PrintDocument, la stampante che fà?

Perchè se non stampa nulla allora non saprei proprio, ma se invece qls si muove allora è solo questione di dargli ciò che gli piace di più (credo).

Ciao

Vash Profilo | Junior Member

>Mitica la segretaraia!
Eh si

>Se gli dai un PrintDocument, la stampante che fà?
in realtà non ho mai provato (anche perchè come prima risposta alla segretaria ho detto che non si può), però si può sempre provare

Vash Profilo | Junior Member

OK
facendo un print document riesco a stampare il testo che voglio
rimane il problema di posizionare il testo nella posizione giusta...ora provò e si vedrà!!

qualcuno sa suggerirmi un metodo per posizionare il testo? ricordo che il formato del foglio è un po' più lungo e più largo dell' A4

alexmed Profilo | Guru

Ciao
Bene così.

Ti consiglio solo di utilizzare un carattere monospazio ( http://it.wikipedia.org/wiki/Caratteri#Proporzionalit.C3.A0) per gestire gli incolonnamenti e la formattazione. Per di più, se non ricordo male, il "Courier New" è proprio il carattere che piace di più alle stampanti ad aghi.

Ciao

Vash Profilo | Junior Member

grazie per il consiglio sul carattere, non ci avevo pensato anche se penso che il monospazio lo gestisca la stampante già da sola!!

cmq ho provato a stampare del testo nella posizione che volevo e fin qui tutto OK
il problema è che avrei bisogno di compilare il modulo con più testi messi in posizione diverse, mi spego:
ad esempio in alto a sinistra mettere la ragione sociale, al centro a sinistra la descrzione della merce, al centro a destra la quantità ecc..
sul mio form ho posizionato dei textbox per l'inserimento nelle posizioni giuste del modulo mettondo come sfondo l'immagine del modulo

la domanda è: Come faccio a mandare in stampa sullo stesso foglio il testo di tutti i textbox compilati ma ognuno in posizione diversa?

alexmed Profilo | Guru

Per questo hai due soluzioni:

La prima è questa:
http://www.dotnethell.it/articles/PrintWindowsForms.aspx

La seconda è costruirti tramite x ed y la posizione dei testi da stampare (che poi è come la prima soluzione solo che non sfrutti le coordinate dei controlli).
es

Dim myFontMonth As New Font("Courier New, 10, FontStyle.Regular)
Dim myFormatMonth As New StringFormat
myFormatMonth.LineAlignment = StringAlignment.Center
myFormatMonth.Alignment = StringAlignment.Center

gr.DrawString(MonthName(1, True), myFontMonth, 10, 10, myFormatMonth)


Ti stampa la parola "gen" (gennaio) alle coordinate (x = 10) ed (y = 10) con origine degli assi (0,0), nell'angolo in alto a sinistra e con giustificazione sia verticale che orizzontale al centro

Cio significa che il centro della parola "gen" corrisponde alle coordinate 10, 10.

Ciao

Vash Profilo | Junior Member

grazie per i consigli potrebbero essere delle soluzioni ma mi sa che alla fine raggrupperò tutti i campi insieme in un'unica variabile testo dividendo le varie sezioni con spazi e caratteri a capo

ciao

alexmed Profilo | Guru

Ciao

grazie per i consigli potrebbero essere delle soluzioni ma mi sa che alla fine raggrupperò tutti i campi insieme in un'unica variabile testo dividendo le varie sezioni con spazi e caratteri a capo

ciao
Prego.

Ciao
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5