Newsgroup: it.comp.os.linux.sys
Titolo: Stampa caratteri compressi.

Ciao a tutti, scrivo questo messaggio perchè spero che qualcuno sappia
aiutarmi. Il mio problema è il seguente:
Ho un server RH 7.0, sul quale girano dei programmi che utilizzano Informix.
Questi programmi generano stampe molto larghe, che, su altri sistemi (aix )
potevo comprimere con le apposite opzioni, del tipo
qprt -Plpx -p12 -K+   (stampa a 20 cpi).
come posso ottenere le stesse features su Linux?
Grazie
Marco

qprt -Plpx -p12 -K+   (stampa a 20 cpi).
"generano stampe" e' un po' troppo generico. In che formato? su quale
stampante?...
Se la stampa e' in Postscript, puoi scrivere un filtro che utilizzi qualche
programmino delle psutils (psnup o psresize, che hanno, tra le altre cose,
una sintassi simile a quella che hai citato).
Se stampano in formato testo, a caratteri fissi (visto che parli di 20cpi)
forse si puo' intervenire diversamente, inviando appositi controlli alla
stampante (che bisognerebbe sapere qual e' e che linguaggio usa), questo
potrebbe dare risultati di miglior qualita'; si puo' pero' anche qui
produrre un file Posscript e scalarlo come sopra.
In entrambi i casi, si puo' creare un filtro, legato ad una certa coda di
stampa, di cui quindi qualunque programma puo' usufruire.
Ciao.

Effettivamente sono stato un po' troppo vago...
Dunque: le stampe sono in formato testo, non postscript.
Le stampanti sono Epson LQ2070 e TI880, ad aghi.
Per filtro intendi un programma che aggiunga ai file da stampare le sequenze
di escape che impongono alla stampante certe opzioni (quality, cpi, ecc)?
Grazie
Marco

di escape che impongono alla stampante certe opzioni (quality, cpi, ecc)?
Esattolo. Dovrebbe essere sufficiente inviare la sequenza per i caratteri
complessi (cos'era, '^[^O'?) subito prima di stampare il documento. Sempre
che il documento non contenga a sua volta dei caratteri di controllo che ti
rimettono tutto com'era prima, nel qual caso c'e` un pochino di piu` da
lavorare. Comunque, non dovrebbe essere difficile.
Questo dovrebbe dare i risultati migliori, ed anche una stampa piu` rapida,
probabilmente. Puoi pero` anche passare il tutto a qualcosa che produca un
file Postscript (enscript, per esempio), impostando un formato di carta
sufficientemente grande per contenere la stampa, ridurre quindi il
documento con psnup o simili e stampare in modalita` grafica. Se, per
esempio, stampi con enscript su un A3, e il formato di arrivo e` un A4, si
puo` tentare un: psnup -Pa3 -pa4 ...
Mi aspetto che la qualita` sia inferiore, e la stampa piu` lenta; e c'e` da
trafficare un po' con enscript o a2ps o quel che sia. In linea teorica,
comunque, dovrebbe funzionare.
Tutti i giochini vanno poi messi in printcap, per cui alla fine dovrebbe
essere sufficiente selezionare, dal programma che produce le stampe, la
coda di stampa appropriata.
Ciao.

 
Se le stampanti supportano il formato postscript stampa
usando mpage o enscript.
Entrambi trasformano il test in postcript e permettono di
stampare a caratteri ridotti e/o landscape e di stampare
direttamente il risultato. Ossia dai "mpage -Pld -opzioni
file.txt" invece che "lpr -Plp file.txt" e le opzioni
possono essere messe nella variabile ambiente MPAGE.
ciao, andrea

Grazie mille a tutti, ho risolto facendo uno shell script che "pesca" la
compressione desiderata, interroga il terminfo (tput) per avere le sequenze
relative e le mette in testa al file. (Ho scopiazzato buona parte del lavoro
da una cosa simile che i miei predecessori avevano fatto per SCO...)
Saluti
Marco