Newsgroup: it.comp.lang.delphi
Titolo: Problemi di stampa su Epson modulo continuo (Epson TM 30 )

Ciao a tutti,
  ho in piccolo e fastidioso problema di stampa che non riesco a risolvere.
Ho una stampantina Epson, collegata via usb al pc, chiamata dal sistema EPSON TM 30 (dove presumibilmente il TM 30 sta per il collegamento via usb).
Questa stampantina e' del tipo "rotolo continuo" ovvero stampa in continuo su rotolo di carta chimica e alla fine della stampma viene tagliato.
La larghezza del rotolo e' di 80 millimetri.
 
Il mio programma invia la stampa in modo diretto via Printer.BegiinDoc e Printer.EndDoc.
Onestamente il programma stampa in modo corretto (sembra) ma il tutto spostato a destra di 10 millimetri.
 
Ho provato con i settaggi di windows (nelle proprieta' della stampante) dove si trova "Stampa pagina di prova". Lanciata la stampa della pagina di prova, con stupore, anche quella stampa inizia con un margine destro di 10 millimetri.
Pero' un programma di terze parti, con font assurdi (nel senso che gli underscore escono con caratteri strani), stampa partendo dal giusto margine (X = 0).
 
Nelle impostazioni e' tutto corretto (modulo continuo, larghezza del
modulo 80 mm (preso dalla lista dei formati stampabili) ma rimane questo X=10 che non riesco a baypassare.
 
Qualche suggerimento???
 
Grazie
 
Ciao
Daniele
 
 
 

Ciao a tutti,
prova a verificare se possibile impostare la dimensione del "foglio" di stampa.
E' probabile che sia presente una assegnazione di margini con i 10 mm assegnati
Dovrebbe essere una proprietà della stampante e/o del server di stampa
 
In alcuni casi con il driver della stampante non era possibile impostare i margini, usandone uno simile era possibile
 
Hai provato a traslare a sinistra di alcuni millimetri quanto invii in stampa?
Sembra un controsenso ma in alcuni casi mi ha risolto il problema
 
Dipende dal fatto se i margini assegnati sono del foglio di stampa (e in questo caso la traslazione dovrebbe funzionare) oppure sono dei margini di sicurezza della stampante (ma riportavi che un altro software di riusciva a stampare)
 
Hai provato a stampare con un flusso Draw (come le vecchie stampanti ad aghi) ?
 
Alessandro

Ciao a tutti,
  grazie Alessandro per la risposta .....
Qui un AGGIORNAMENTO sui miei progressi.
 
La stampante si chiama proprio "EPSON TM 30" e ha un valore preinpostato di margine sinistro pari a 10 millimetri.
Questo margine, sembra, NON e' aggirabile.
Dico sembra perche' con tutti i thread che ho letto ci sarebbe una possibilita' di eliminarlo .... ma io non ci sono riuscito.
 
alla fine sono arrivato ad un compromesso.
Se il margine non da fastidio e si accettano i 10 mm allora si puo' stampare via TPrinter.
Se invece, come nel mio caso, serve stampare senza margini allora si deve stampare aggirando il driver.
 
In questo secondo caso, saltando il driver (raw print), e' possibile cambiare font sulla stessa linea?
 
Grazie per l'interesse.
 
Ciao
Daniele


Ciao Alessandro,
  in effetti sono riuscito anch'io a stampare con margine sinistro = 0 andando a bypassare il driver e a stampare alla "vecchia" maniera.
Ho usato questo vecchissimo, ma sembra attuale, codice
 
  AssignPrn(lst);
  Rewrite(lst);
 
dove lst e' TextFile, in questo caso si va direttamente alla stampante.
Non sono certo della possibilita' di cambiare font sulla stessa linea ...
 
Grazie
 
Ciao
Daniele

Ciao Daniele,
non puoi cambiare font sulla stessa linea usando il flusso draft, al massimo se la stampante lo prevede puoi cambiare la dimensione del carattere in stampa
 
Nelle stampanti ad aghi era previsto di poter stampare in condensato con un comando per passare dalla modalità normale a quella condensata
Epson usava il codice Ascii 15 per passare al condensato, il 18 per tornare allo standard
Esisteva anche una modalità espansa che stampava i caratteri a doppia larghezza, ma non mi ricordo i codici
 
A memoria lo standard era 10 caratteri per pollice, mentre il condensato era 15 o 17 caratteri per pollice
(sono passati un po' di anni dall'ultima volta che l'ho utilizzato e c'era una differenza tra modalità Epson e modalità Ibm)
 
In realtà anche nelle stampe windows puoi specificare una coordinata negativa, sempre che il driver non "tagli" tutto
Con alcune stampanti mi funzionava una traslazione sinistra / destra della stampa semplicemente aggiungendo un delta alla coordinata di stampa
Le ultime stampanti con cui ho avuto a che fare purtroppo forzavano solo valori all'interno del range previsto dal driver e quindi non si riusciva a fare lo spostamento
 
Alessandro