Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ
îðèãèíàëüíîãî äîêóìåíòà
: http://www.arcetri.astro.it/irlab/doc/library/linux/AppLinux/al84.htm
Äàòà èçìåíåíèÿ: Tue Sep 21 18:08:39 1999 Äàòà èíäåêñèðîâàíèÿ: Sat Dec 22 13:21:58 2007 Êîäèðîâêà: Ïîèñêîâûå ñëîâà: ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï |
Come giÞ accennato nel capitolo precedente, a suo tempo, il sistema PostScript ha segnato una rivoluzione nel modo di stampare definendo uno standard generale per la stampa. A causa del suo prezzo, le stampanti PostScript si sono introdotte particolarmente nel settore tipografico e raramente nei piccoli uffici o in casa.
PostScript Õ una sorta di linguaggio di programmazione per la stampa. In altri termini, si puÐ definire anche come linguaggio di stampa. I dati inviati a una stampante PostScript sono in forma di file di testo contenente un programma di stampa. *1*
Un file PostScript Õ ciÐ che viene inviato a una stampante PostScript per ottenere un documento finale. Questo file contiene tutte le informazioni per definire l'aspetto finale del documento, senza conoscere le caratteristiche particolari della stampante, la quale da sola deve arrangiarsi a interpretarlo. Il file PostScript Õ un file di testo normale, come se fosse un sorgente di un linguaggio di programmazione, con la differenza che le istruzioni non sono cosË intelligibili.
%!PS-Adobe-2.0 ... |
La prima parte di questo file inizia generalmente con la dichiarazione del tipo di file (%!PS-Adobe-2.0
), quindi il testo prosegue con la definizione di una serie di caratteristiche che riguardano l'intero documento.
Successivamente inizia la definizione dettagliata di altre caratteristiche, principalmente le fonti tipografiche, ovvero i tipi di carattere. La descrizione di questi si rende necessaria quando il documento utilizza dei tipi che non appartengono allo standard minimo PostScript. In pratica, il linguaggio PostScript prevede che alcuni tipi di carattere siano predefiniti all'interno della stampante, per cui, quando vengono utilizzati questi tipi, non occorre specificarne le caratteristiche; in tutti gli altri casi, occorre fornire alla stampante tutte le informazioni necessarie a disegnarli nel modo corretto.
Questo particolare deve essere tenuto da conto quando si vogliono ottenere file PostScript di dimensioni ridotte, per esempio quando si tratta di documenti brevi.
... %%Page: 1 1 1 0 bop 300 1692 3600 42 v 300 2000 a FM(Appunti)58 b(Linux)p 300 2151 V 300 2409 a FL(Daniele)18 b(G)o(iacomini)76 b(daniele@calion.com)20 2584 y FK(1998.05.06)p eop %%Page: 2 2 2 1 bop -72 -167 3600 5 v -72 -200 a FJ(2)-72 5 y FI(D)o(aniele)23 b(G)o(iacomini)p FK(,)j(ha)h(incontr)o(ato)f(il)g(softwar)o(e)g ... |
A un certo punto, finalmente, inizia il contenuto delle varie pagine. L'estratto di esempio si riferisce alla prima e all'inizio della seconda pagina di questo documento (nel momento in cui Õ in corso la scrittura di questa sezione). Con qualche difficoltÞ si riesce anche a intravedere il testo che verrÞ stampato.
Al termine dell'ultima pagina c'Õ una conclusione, come nell'estratto seguente:
... %%Trailer end userdict /end-hook known{end-hook}if %%EOF |
Questa struttura ordinata di un file PostScript, lascia intuire la possibilitÞ di scomporre un file di questo tipo e di ricomporlo come si desidera. Quello che conta Õ che ciÐ che si ottiene contenga il preambolo iniziale, quello che precede le descrizioni delle pagine, e la conclusione finale. Per esempio, potrebbe essere conveniente estrarre da un file PostScript alcune pagine e ricomporle in un file indipendente.
Questo tipo di scomposizione puÐ essere fatta manualmente, con l'aiuto di un programma per la modifica di file di testo, oppure per mezzo di strumenti appositi.
In mancanza di una stampante PostScript si puÐ utilizzare un emulatore che trasforma un file PostScript in uno adatto alla stampante che si possiede. In passato sono apparsi diversi programmi commerciali di emulazione, ma attualmente si Õ imposto il programma Ghostscript (GNU-GPL) del quale esistono versioni sia per i sistemi Unix che per altri sistemi operativi (Dos incluso).
Ghostscript Õ un programma che si occupa di trasformare un file PostScript in un altro adatto alla stampante che si utilizza. Permette di utilizzare una serie di opzioni fornite come argomenti della riga di comando, ma al termine costringe a uscire dal programma inserendo la parola quit
, oppure un EOF
, nello standard input (attraverso la tastiera o una ridirezione dell'input). Anche con la combinazione di tasti [Ctrl+c] si ottiene la conclusione del funzionamento del programma.
gs [<opzioni>] [<file>...] |
Ghostscript utilizza un elenco molto lungo di argomenti nella riga di comando. Questi sono molto importanti per automatizzare l'utilizzo del programma attraverso degli script.
|
Permette di definire per quale tipo si stampante o altra unitÞ deve essere generato il risultato della trasformazione del file PostScript. Possono essere utilizzati i nomi indicati nelle tabelle 64.1, 64.2 e 64.3.
Nome | Descrizione |
iwhi | Apple Imagewriter, alta risoluzione |
iwlo | Apple Imagewriter, bassa risoluzione |
iwlq | Apple Imagewriter LQ, 320x216 dpi |
bj10e | Canon BubbleJet BJ10e |
bj200 | Canon BubbleJet BJ200 |
bjc600 | Canon Color BubbleJet BJC-600 e BJC-400 |
bjc800 | Canon Color BubbleJet BJC-800 |
lbp8 | Canon LBP-8II (laser) |
la50 | DEC LA50 |
la70 | DEC LA70 |
la75 | DEC LA75 |
la75plus | DEC LA75plus |
lj250 | DEC LJ250 (colore) |
epson | Epson-compatibile (9 o 24 aghi) |
eps9mid | Epson-compatibile (9 aghi a media risoluzione) |
eps9high | Epson-compatibile (9 aghi ad alta risoluzione) |
epsonc | Epson LQ-2550 e Fujitsu 3400/2400/1200 a colori |
stcolor | Epson Stylus Color |
st800 | Epson Stylus 800 |
dnj650c | HP DesignJet 650C |
deskjet | HP DeskJet e DeskJet Plus |
djet500 | HP DeskJet 500 |
cdeskjet | HP DeskJet 500C (1 bit/pixel colore) |
cdjcolor | HP DeskJet 500C (24 bit/pixel colore) |
cdjmono | HP DeskJet 500C (solo nero) |
cdjcolor | HP DeskJet 500C |
cdj500 | HP DeskJet 500C |
djet500c | HP DeskJet 500C |
cdj550 | HP DeskJet 550C/560C |
laserjet | HP LaserJet |
ljetplus | HP LaserJet Plus |
ljet2p | HP LaserJet IId/IIp/III* (con compressione TIFF) |
ljet3 | HP LaserJet III* (con compressione Delta Row) |
ljet3d | HP LaserJet IIID (duplex) |
ljet4 | HP LaserJet 4 (600 dpi) |
lj4dith | HP LaserJet 4 (Floyd-Steinberg dithering) |
pj | HP PaintJet XL |
pjetxl | HP PaintJet XL |
pjxl | HP PaintJet XL (colore) |
paintjet | HP PaintJet XL (colore) |
pjxl300 | HP PaintJet XL300 (colore) e DeskJet 1200C |
lp2563 | HP 2563B |
ibmpro | IBM Proprinter (9 aghi) |
jetp3852 | IBM Jetprinter (a getto, colore, modello #3852) |
imagen | Imagen ImPress |
m8510 | C.Itoh M8510 |
cp50 | Mitsubishi CP50 (colori) |
necp6 | NEC P6/P6+/P60 (360x360 dpi) |
r4081 | Ricoh 4081 (laser) |
sj48 | StarJet 48 inkjet |
t4693d2 | Tektronix 4693d (colore, 2 bit) |
t4693d4 | Tektronix 4693d (colore, 4 bit) |
tek4696 | Tektronix 4695/4696 (plotter a getto d'inchiostro) |
xes | Xerox XES 2700, 3700, 4045, e altri modelli |
Nome | Descrizione |
dfaxhigh | DigiBoard DigiFAX (alta risoluzione) |
dfaxlow | DigiBoard DigiFAX (bassa risoluzione) |
faxg3 | Fax gruppo 3, con EOL, senza intestazione e EOD |
faxg32d | Fax gruppo 3 2-D, con EOL, senza intestazione e EOD |
faxg4 | Fax gruppo 4, con EOL, senza intestazione e EOD |
pcxmono | PCX monocromatico |
pcxgray | PCX 8 bit in scala di grigi |
pcx16 | PCX 4 bit a colori |
pcx256 | PCX 8 bit a colori |
pcx24b | PCX 24 bit a colori |
bit | Binario semplice (raw), monocromatico |
bitrgb | Binario semplice (raw), RGB |
bitcmyk | Binario semplice (raw), CMYK |
pbm | PBM (Portable BitMap), formato ASCII |
pbmraw | PBM (Portable BitMap), formato raw |
pgm | PGM (Portable GrayMap), formato ASCII |
pgmraw | PGM (Portable GrayMap), formato raw |
pngmono | PNG (Portable Network Graphics), monocromatico |
pnggray | PNG (Portable Network Graphics), 8 bit grigi |
png16 | PNG (Portable Network Graphics), 4 bit colori |
png256 | PNG (Portable Network Graphics), 8 bit colori |
png16m | PNG (Portable Network Graphics), 24 bit colori |
ppm | PBM (Portable PixMap), formato ASCII |
ppmraw | PBM (Portable PixMap), formato raw |
tiffcrle | TIFF b/n, CCITT RLE 1-dim (fax gruppo 3 senza EOL) |
tiffg3 | TIFF b/n, fax gruppo 3 (con EOL) |
tiffg32d | TIFF b/n, fax gruppo 3 2-D |
tiffg4 | TIFF b/n, fax gruppo 4 |
tifflzw | TIFF b/n, LZW |
tiffpack | TIFF b/n, PackBits |
tiff12nc | TIFF 12 bit RGB colori (senza compressione) |
tiff24nc | TIFF 24 bit RGB colori (senza compressione) |
Nome | Descrizione |
pdfwrite | PDF (Portable Document Format) |
psmono | PostScript 1, monocromatico, bitmap |
|
Permette di sopprimere il messaggio di avvio del programma. õ particolarmente utile quando si ridirige l'output e di conseguenza non si vogliono avere dati estranei nel file che si ottiene.
|
Disabilita l'invito e la pausa alla fine di ogni pagina.
|
Permette di definire il formato della pagina. Possono essere utilizzati i formati elencati nella tabella 64.4.
formato | larghezza | altezza | larghezza | altezza | larghezza | altezza |
1/72" | 1/72" | pollici | pollici | cm | cm | |
note | 540 | 720 | 7,50 | 10,00 | 19,05 | 25,4 |
letter | 612 | 792 | 8,50 | 11,00 | 21,59 | 27,94 |
legal | 612 | 1008 | 8,50 | 14,00 | 21,59 | 35,56 |
a0 | 2380 | 3368 | 33,0556 | 46,7778 | 83,9611 | 118,816 |
a1 | 1684 | 2380 | 23,3889 | 33,0556 | 59,4078 | 83,9611 |
a2 | 1190 | 1684 | 16,5278 | 23,3889 | 41,9806 | 59,4078 |
a3 | 842 | 1190 | 11,6944 | 16,5278 | 29,7039 | 41,9806 |
a4 | 595 | 842 | 8,26389 | 11,6944 | 20,9903 | 29,7039 |
a5 | 421 | 595 | 5,84722 | 8,26389 | 14,8519 | 20,9903 |
a6 | 297 | 421 | 4,125 | 5,84722 | 10,4775 | 14,8519 |
a7 | 210 | 297 | 2,91667 | 4,125 | 7,40833 | 10,4775 |
a8 | 148 | 210 | 2,05556 | 2,91667 | 5,22111 | 7,40833 |
a9 | 105 | 148 | 1,45833 | 2,05556 | 3,70417 | 5,22111 |
a10 | 74 | 105 | 1,02778 | 1,45833 | 2,61056 | 3,70417 |
b0 | 2836 | 4008 | 39,3889 | 55,6667 | 100,048 | 141,393 |
b1 | 2004 | 2836 | 27,8333 | 39,3889 | 70,6967 | 100,048 |
b2 | 1418 | 2004 | 19,6944 | 27,8333 | 50,0239 | 70,6967 |
b3 | 1002 | 1418 | 13,9167 | 19,6944 | 35,3483 | 50,0239 |
b4 | 709 | 1002 | 9,84722 | 13,9167 | 25,0119 | 35,3483 |
b5 | 501 | 709 | 6,95833 | 9,84722 | 17,6742 | 25,0119 |
archE | 2592 | 3456 | 36,00 | 48,00 | 91,44 | 121,92 |
archD | 1728 | 2592 | 24,00 | 36,00 | 60,96 | 91,44 |
archC | 1296 | 1728 | 18,00 | 24,00 | 45,72 | 60,96 |
archB | 864 | 1296 | 12,00 | 18,00 | 30,48 | 45,72 |
archA | 648 | 864 | 9,00 | 12,00 | 22,86 | 30,48 |
flsa | 612 | 936 | 8,50 | 13,00 | 21,59 | 33,02 |
flse | 612 | 936 | 8,50 | 13,00 | 21,59 | 33,02 |
halfletter | 396 | 612 | 5,50 | 8,50 | 13,97 | 21,59 |
11x17 | 792 | 1224 | 11,00 | 17,00 | 27,94 | 43,18 |
ledger | 1224 | 792 | 17,00 | 11,00 | 43,18 | 27,94 |
|
Permette di definire il nome del file che si vuole generare con questa trasformazione. Se al posto del nome si mette un trattino (
), questo file viene emesso attraverso lo standard output.
-
|
Se al posto del nome del file PostScript da convertire si indica un semplice trattino (
) isolato, viene utilizzato per questo quanto proveniente dallo standard input.
-
$
gs
-
dNOPAUSE -
q -
sDEVICE=cdjmono -
sOutputFile=-
esempio.ps < /dev/null | lpr
Invia al sistema di stampa (tramite lpr
) il documento esempio.ps
dopo la trasformazione nel formato compatibile con le stampanti HP Deskjet.
$
gs
-
dNOPAUSE -
q -
sDEVICE=cdjmono -
sOutputFile=pagina%0004d esempio.ps < /dev/null
Genera, a partire dal documento esempio.ps
, una serie di file, uno per ogni pagina, con un nome che inizia per pagina
seguito da quattro cifre numeriche.
$
gs
-
dNOPAUSE -
q -
sDEVICE=cdjmono -
sOutputFile=esempio.prn esempio.ps < /dev/null
Genera, a partire dal documento esempio.ps
, il file esempio.prn
pronto per essere inviato a una stampante HP Deskjet.
Nello stesso modo in cui Ghostscript viene utilizzato per convertire file PostScript in formati adatti alle stampanti normali, cosË Õ possibile ottenere una conversione in un formato che possa essere mostrato attraverso lo schermo, solitamente all'interno del sistema grafico X.
Alcuni strumenti grafici specifici, si occupano di guidare l'utente all'utilizzo di Ghostscript in modo da ottenere un'anteprima di stampa su schermo.
BMV Õ un programma che permette la visualizzazione di file PostScript utilizzando direttamente una console di tipo VGA. Per visualizzare i file PostScript si avvale naturalmente di Ghostscript che deve essere stato installato. Il file eseguibile, bmv
, deve appartenere all'utente root
e avere il bit SUID attivo (SUID-root
), altrimenti puÐ essere utilizzato solo dall'utente root
a causa del fatto che accede direttamente alla scheda VGA.
bmv [<opzioni>] <file-da-visualizzare> |
Una volta avviato l'eseguibile bmv
, se Ghostscript Õ installato (e BMV lo trova), viene visualizzato il file utilizzando la console virtuale dalla quale Õ stato avviato. Per cambiare console virtuale non funzionano piÛ le combinazioni consuete, [Ctrl+Fn] o [Ctrl+Alt+Fn]; per cambiare console virtuale occorre un comando di BMV: [s][n] che permette di raggiungere l'n-esima console virtuale.
|
Permette di stabilire il tipo di modalitÞ VGA attraverso un numero che fa riferimento a quanto stabilito normalmente attraverso il file /usr/include/vga.h
(utilizzato nella compilazione della libreria SVGAlib). Alcuni valori interessanti potrebbero essere il numero 4 (640x480 16 colori), il numero 29 (800x600 16 colori), il 30 (1024x768 16 colori) e il 31 (1280x1024 256 colori).
|
Permette di passare a Ghostscript l'indicazione sulla dimensione della carta in modo esplicito.
|
Permette di indicare il percorso completo per l'avvio dell'eseguibile gs
. Potrebbe essere necessario utilizzare questa opzione se BMV Õ stato compilato con un'indicazione che non corrisponde a quella della propria situazione.
[q]
Conclude il funzionamento del programma.
[h], [j], [k], [l]
Questi tasti rappresentano uno spostamento dell'immagine rispettivamente: verso sinistra, verso il basso, verso l'alto e verso destra. In pratica ripetono la tradizione di VI.
[+], [-
]
Ingrandisce e riduce l'immagine.
[g][n][n][n]
Salta alla pagina definita dal numero nnn (sono obbligatorie tre cifre).
[s][n]
Salta alla console virtuale n.
$
bmv
-
g/usr/bin/gs prova.ps
Utilizza l'eseguibile gs
che si trova nella directory /usr/bin/
per visualizzare il file prova.ps
, con la modalitÞ VGA predefinita.
$
bmv
-
v30 -
g/usr/bin/gs prova.ps
Come nell'esempio precedente ma utilizzando la modalitÞ VGA numero 30.
$
bmv
-
pA4 -
g/usr/bin/gs prova.ps
Visualizza il solito file specificando a Ghostscript che il formato della carta deve essere A4.
õ un programma che facilita la visualizzazione di file PostScript all'interno dell'ambiente grafico X attraverso una gestione automatizzata e semplificata di Ghostscript.
Ghostview Õ piuttosto spartano nella sua impostazione, e per questo tende a essere sostituito da un suo discendente, GV, piÛ curato esteticamente e piÛ semplice da usare. Tuttavia, Ghostview Õ ancora insostituibile per la facilitÞ con cui si possono selezionare gruppi di pagine molto grandi.
ghostview [<opzioni>] [<file>] |
L'eseguibile ghostview
viene utilizzato generalmente senza alcun argomento, eventualmente puÐ essere fornito il nome del file PostScript che si vuole visualizzare.
La libreria grafica con cui Õ stato realizzato questo programma, non Õ molto comoda da utilizzare con il solo mouse. Per questo, Õ conveniente conoscere alcuni comandi che si possono dare attraverso la tastiera.
Scorrimento delle pagine:
l'uso dei tasti [pagina su] e [pagina giÛ] permette di scorrere il documento da una pagina all'altra.
Orientamento:
premendo il tasto [freccia su], si orienta il documento a 0 gradi (cioÕ nella sua posizione normale);
premendo il tasto [freccia giÛ], si orienta il documento a 180 gradi;
premendo il tasto [freccia sinistra], si orienta il documento in senso antiorario di 90 gradi;
premendo il tasto [freccia destra], si orienta il documento in senso orario di 90 gradi.
Spostamento della zona visualizzata:
premendo il tasto [u] o [k], si visualizza la parte superiore della pagina (se questa non appare completamente nella finestra a disposizione);
premendo il tasto [d] o [j], si visualizza la parte inferiore della pagina (se questa non appare completamente nella finestra a disposizione);
premendo il tasto [h], si visualizza la parte sinistra della pagina (se questa non appare completamente nella finestra a disposizione);
premendo il tasto [l], si visualizza la parte destra della pagina (se questa non appare completamente nella finestra a disposizione).
A parte l'uso ovvio del mouse con le barre di scorrimento, sono interessanti le seguenti possibilitÞ.
Zoom:
facendo un clic con uno dei tasti del mouse quando il cursore si trova nella zona in cui si visualizza il documento, si ottiene uno zoom locale. Con il primo tasto si ha uno zoom piccolo, con il secondo tasto si ottiene uno zoom medio, con il terzo si ottiene lo zoom massimo.
Selezione delle pagine:
con un clic del primo tasto su un numero di pagina si seleziona tale numero. Premendo successivamente il terzo tasto si seleziona un gruppo di pagine a partire da quella selezionata in precedenza. Utilizzando il tasto centrale si visualizza la pagina con quel numero.
Il menu di ghostview
puÐ essere utilizzato attraverso il mouse oppure attraverso delle combinazioni di tasti. Segue la struttura del menu con l'indicazione della combinazione di tasti equivalente a ogni voce.
File
Open...
[o]
Permette di aprire un file PostScript per la sua visualizzazione.
Reopen
[r]
Permette di riaprire il documento in corso di visualizzazione, nel caso che questo sia stato modificato nel frattempo.
Print...
[P]
Permette di stampare l'intero documento. Viene richiesto il nome della stampante; se non viene fornito si intende quella predefinita.
Print marked pages...
[p]
Permette di stampare solo le pagine marcate.
Save marked pages...
[s]
Permette di salvare le pagine marcate.
Copyright...
Visualizza il Copyright.
Quit
[q]
Termina l'esecuzione del programma.
Page
Next
[barra spaziatrice] [Invio] [f]
Passa a visualizzare la pagina successiva.
Redisplay
[.] [Ctrl+l]
Visualizza nuovamente la pagina corrente.
Previous
[backspace] [canc] [b]
Passa a visualizzare la pagina precedente.
Center
Centra la pagina all'interno della zona di visualizzazione.
Mark
[m]
Marca le pagine selezionate. Le pagine marcate hanno un asterisco alla sinistra del numero.
Unmark
[n]
Toglie la marcatura alle pagine selezionate.
Magstep
[0] [1] [2] [3] [4] [5] [+] [-
]
Permette di definire il livello di ingrandimento della pagina visualizzata. Zero Õ il valore centrale; un valore maggiore aumenta l'ingrandimento, un valore minore lo diminuisce.
Orientation
Permette di cambiare l'orientamento della visualizzazione del documento.
Media
Permette di selezionare un formato di carta diverso rispetto a quello naturale del documento. Il primo ad apparire nell'elenco di quelli a disposizione Õ proprio quello originale.
GV Õ un programma derivato da Ghostview con lo stesso scopo, ma con un'interfaccia grafica piÛ comoda e intuitiva.
gv [<file>] [<opzioni>] |
L'eseguibile gv
permette l'utilizzo di un gran numero di opzioni ed Õ altamente configurabile. Generalmente perÐ non si utilizzano tutte queste risorse dal momento che la sua interfaccia grafica Õ abbastanza semplice e intuitiva.
Esiste solo uno svantaggio rispetto al programma Ghostview originale: Õ un po' scomoda la selezione delle pagine.
Vedere gv(1).
All'inizio di questo capitolo si Õ accennato alla struttura di un file PostScript, e al fatto che il suo contenuto possa essere riadattato. Per queste rielaborazioni viene in aiuto una raccolta di programmi di utilitÞ, denominato PSUtils (PostScript Utilities).
Si tratta di un insieme di programmi e script utili per chi vuole rimaneggiare file di questo tipo. Gli usi piÛ comuni possono riguardare:
l'adattamento delle dimensioni del foglio;
l'estrazione di pagine in un documento a parte;
la fusione di file diversi;
la modifica nella sequenza delle pagine;
l'unione di piÛ pagine in un solo foglio.
La dimensioni della carta, quando devono essere fornite, possono essere espresse senza l'indicazione di un'unitÞ di misura, e in tal caso si riferiscono a punti tipografici (1/72 di pollice), altrimenti si possono indicare le sigle cm
o in
che si riferiscono rispettivamente a centimetri e pollici. Il formato della carta puÐ essere espresso anche attraverso il suo nome standard, e vengono accettate le parole chiave: a3
, a4
, a5
, b5
, letter
, legal
, tabloid
, statement
, executive
, folio
, quarto
e 10x14
.
Purtroppo, questi programmi di utilitÞ non sono perfetti, e generalmente funzionano solo con file che rispettano fedelmente le specifiche PostScript di Adobe. Assieme ai programmi di utilitÞ sono forniti alcuni script in grado di adattare e rendere compatibili alcuni formati PostScript che altrimenti risulterebbero inadatti. Restano comunque delle situazioni in cui i programmi di PSUtils non sono in grado di compiere il loro lavoro. |
Quando si vuole organizzare la stampa di un documento voluminoso, il primo problema Õ stabilire la gestione della stampa fronte-retro. Dal momento che si dispone normalmente di stampanti che stampano una sola faccia per volta, dopo la prima passata, occorre stabilire come deve essere girata la carta, e se deve essere invertita la sequenza dei fogli.
Figura 64.3:
Movimento della carta in una tipica stampante laser.
Il programma GV permette di stampare in maniera distinta le pagine dispari da quelle pari, ma per la gestione di sequenze piÛ complesse, occorre fare affidamento sui programmi che sono descritti in queste sezioni.
Il problema piÛ comune Õ quello di stampare su un unico foglio 4 facciate ridotte alla metÞ della dimensione normale. Si osservi la figura 64.4; rappresenta la sequenza necessaria per la stampa corretta di 4 facciate su un unico foglio, quando si dispone di una stampante normale che stampa su una sola facciata alla volta, tenendo conto quindi che il foglio deve essere reimmesso nella stampante.
Figura 64.4:
Sequenza per la stampa di 4 facciate su un foglio normale utilizzando stampanti normali.
Se la stampante funziona come mostrato nella figura 64.3, si puÐ comprendere il meccanismo osservando la sequenza di operazioni mostrata dalla figura 64.5. In pratica, dopo la stampa della prima facciata, occorre prendere il foglio senza ruotarlo e reimmetterlo in ingresso per la stampa.
Figura 64.5:
Sequenza pratica per la stampa di 4 facciate su un foglio normale.
Se la stampa supera le 4 facciate ridotte, ovvero se richiede piÛ di un foglio, occorre suddividere la stampa in modo da stampare prima il fronte e poi il retro. Nel momento in cui si passa a stampare il retro, occorre verificare se si deve invertire la sequenza dei fogli, oppure se si invia la stampa del gruppo di pagine in senso inverso.
Volendo, il problema si puÐ complicare ancora di piÛ, se i fogli che si ottengono devono essere rilegati a gruppetti (segnature), attraverso una cucitura centrale. In pratica, la prima facciata del primo foglio conterrÞ la prima e l'ultima pagina, mentre la seconda facciata conterrÞ la seconda e la penultima pagina, e cosË avanti con i fogli successivi.
Un altro problema da considerare quando si utilizzano stampanti laser, Õ la temperatura. La stampa richiede il riscaldamento e la fusione dell'inchiostro in polvere, cosË facendo, sia la stampante che la carta si riscaldano notevolmente durante il funzionamento. Quando si deve reimmettere la carta che Õ giÞ stata stampata da un lato, Õ probabile che alcuni fogli tendano ad appiccicarsi, rovinando la sequenza di stampa. In queste situazioni Õ consigliabile stampare a piccoli blocchi, per dare il tempo alla stampante e alla carta di raffreddarsi un po'.
Le stampanti duplex possono stampare simultaneamente fronte-retro. Per arrivare a questo risultato, l'immagine che viene stampata nel retro del foglio Õ rovesciata tenendo conto dell'orientamento normale di questo: verticale. Quando si vogliono stampare 4 facciate su un unico foglio, le cose si complicano; in pratica, le due facciate ridotte che vanno collocate nel retro del foglio, devono essere rovesciate. Forse, la figura 64.6 aiuta a comprendere la cosa.
Figura 64.6:
Sequenza per la stampa di 4 facciate su un foglio normale utilizzando stampanti duplex.
Una sequenza di stampa di questo tipo puÐ essere simulata anche con una stampante normale, nella quale i fogli debbano essere reimmessi per la stampa della parte retrostante. la figura 64.7 mostra in che modo debbano essere reimmessi i fogli in questo caso.
Figura 64.7:
Sequenza pratica per la stampa di 4 facciate su un foglio normale simulando una stampante duplex.
psresize [<opzioni>] [<file-originale> [<file-elaborato>]] |
psresize
elabora un file PostScript adattandone le dimensioni, in base a quanto specificato con le opzioni, e generando un nuovo file. Se il secondo file non viene indicato attraverso la riga di comando, il risultato viene emesso attraverso lo standard output; se non viene indicato nemmeno il primo, il file da elaborare viene tratto dallo standard input.
|
Definisce l'ampiezza orizzontale della carta del formato finale. Se il valore viene espresso senza l'indicazione dell'unitÞ di misura, si intende trattarsi di punti tipografici.
|
Definisce l'ampiezza verticale della carta del formato finale. Se il valore viene espresso senza l'indicazione dell'unitÞ di misura, si intende trattarsi di punti tipografici.
|
In alternativa all'indicazione delle dimensioni del formato finale, si puÐ usare questa opzione per indicare direttamente il nome standard del formato finale. Se le dimensioni non vengono definite, si sottintende trattarsi di a4
.
|
Definisce l'ampiezza orizzontale della carta del formato di origine. Se il valore viene espresso senza l'indicazione dell'unitÞ di misura, si intende trattarsi di punti tipografici.
|
Definisce l'ampiezza verticale della carta del formato di origine. Se il valore viene espresso senza l'indicazione dell'unitÞ di misura, si intende trattarsi di punti tipografici.
|
In alternativa all'indicazione delle dimensioni del formato di origine, si puÐ usare questa opzione per indicare direttamente il nome standard del formato di origine. Se le dimensioni non vengono definite, si sottintende trattarsi di a4
.
|
Durante l'elaborazione, viene emesso attraverso lo standard error l'elenco dei numeri di pagina che vengono elaborati. Se si utilizza questa opzione, se ne sopprime la segnalazione.
psselect [<opzioni>] [<file-originale> [<file-elaborato>]] |
psselect
elabora un file PostScript estraendone alcune pagine e generando un nuovo file con queste. Se il secondo file non viene indicato attraverso la riga di comando, il risultato viene emesso attraverso lo standard output; se non viene indicato nemmeno il primo, il file da elaborare viene tratto dallo standard input.
Le pagine vengono selezionate attraverso l'opzione
che puÐ essere usata congiuntamente a -
p
(pagine pari) oppure -
e
(pagine dispari).
-
o
I numeri di pagina a cui si fa riferimento, sono relativi alla disposizione effettiva, contando a partire da 1. Infatti, un file PostScript puÐ essere il risultato di un assemblaggio di pagine numerate in vario modo, e questa numerazione puÐ non corrispondere alla disposizione effettiva delle pagine all'interno del file. |
|
Seleziona solo le pagine pari.
|
Seleziona solo le pagine dispari.
|
Permette di specificare un gruppo di pagine, attraverso un elenco separato da virgole. All'interno dell'elenco si possono specificare anche degli intervalli, separando il numero iniziale da quello finale con un singolo trattino (
). Se un numero di pagina Õ prefissato dal carattere di sottolineatura (-
_
), questo si intende riferito alla fine del documento, contando all'indietro.
|
Con questa opzione, le pagine estratte vengono organizzate in ordine inverso rispetto a quello di origine.
|
Durante l'elaborazione, viene emesso attraverso lo standard error l'elenco dei numeri di pagina che vengono elaborati. Se si utilizza questa opzione, se ne sopprime la segnalazione.
$
psselect
-
p1,3 documento.ps mio_file.ps
Estrae dal file documento.ps
la prima e la terza pagina, generando il file mio_file.ps
.
$
psselect
-
p1,_3 documento.ps mio_file.ps
Estrae dal file documento.ps
la prima e la terza pagina dalla fine, generando il file mio_file.ps
.
$
psselect
-
p1-
3,10-
15 documento.ps mio_file.ps
Estrae dal file documento.ps
le prime tre pagine e le pagine dalla 10 alla 15, generando il file mio_file.ps
.
$
psselect
-
p-
3,10-
15 documento.ps mio_file.ps
Esattamente come nell'esempio precedente, con la differenza che la prima pagina viene considerata in modo predefinito, avendo lasciato il trattino da solo.
$
psselect
-
p3,150-
documento.ps mio_file.ps
Estrae dal file documento.ps
la terza pagina e tutte le pagine a partire dalla 150, generando il file mio_file.ps
.
$
psselect
-
e -
p150-
documento.ps mio_file.ps
Estrae dal file documento.ps
tutte le pagine pari (even) a partire dalla 150, generando il file mio_file.ps
.
$
psselect
-
o -
r -
p150-
documento.ps mio_file.ps
Estrae dal file documento.ps
tutte le pagine dispari (odd) a partire dalla 150, in ordine inverso, generando il file mio_file.ps
.
psnup [<opzioni>] [<file-originale> [<file-elaborato>]] |
psnup
elabora un file PostScript generando un file in cui diverse pagine di origine sono assemblate in un'unica pagina finale. In pratica permette di ottenere due o piÛ pagine in un'unica facciata.
Se il secondo file non viene indicato attraverso la riga di comando, il risultato viene emesso attraverso lo standard output; se non viene indicato nemmeno il primo, il file da elaborare viene tratto dallo standard input.
Le pagine riunite assieme da |
|
Definisce l'ampiezza orizzontale della carta del formato finale. Se il valore viene espresso senza l'indicazione dell'unitÞ di misura, si intende trattarsi di punti tipografici.
|
Definisce l'ampiezza verticale della carta del formato finale. Se il valore viene espresso senza l'indicazione dell'unitÞ di misura, si intende trattarsi di punti tipografici.
|
In alternativa all'indicazione delle dimensioni del formato finale, si puÐ usare questa opzione per indicare direttamente il nome standard del formato finale. Se le dimensioni non vengono definite, si sottintende trattarsi di a4
.
|
Definisce l'ampiezza orizzontale della carta del formato di origine. Se il valore viene espresso senza l'indicazione dell'unitÞ di misura, si intende trattarsi di punti tipografici.
|
Definisce l'ampiezza verticale della carta del formato di origine. Se il valore viene espresso senza l'indicazione dell'unitÞ di misura, si intende trattarsi di punti tipografici.
|
In alternativa all'indicazione delle dimensioni del formato di origine, si puÐ usare questa opzione per indicare direttamente il nome standard del formato di origine. Se le dimensioni non vengono definite, si sottintende trattarsi di a4
.
|
Durante l'elaborazione, viene emesso attraverso lo standard error l'elenco dei numeri di pagina che vengono elaborati. Se si utilizza questa opzione, se ne sopprime la segnalazione.
|
Un trattino seguito da un numero indica la quantitÞ di pagine che si vogliono unire in un'unica pagina finale. Per esempio,
fa in modo che su una pagina finale siano unite assieme due pagine di quelle originali, ridotte opportunamente.
-
2
$
psnup
-
2 documento.ps mio_file.ps
Elabora il file documento.ps
(A4) generando il file mio_file.ps
(A4) che, per ogni pagina, conterrÞ due pagine del documento originale.
$
psnup
-
4 documento.ps mio_file.ps
Come nell'esempio precedente, con la differenza che vengono riunite 4 pagine in una sola facciata.
$
psnup
-
Pletter -
4 documento.ps mio_file.ps
Come nell'esempio precedente, con la differenza che il file originale conteneva pagine in formato letter
.
psbook [<opzioni>] [<file-originale> [<file-elaborato>]] |
psbook
elabora un file PostScript generando un altro file in cui la sequenza delle pagine risulta alterata in modo da poter stampare un libretto. Per esempio, nel caso della stampa di gruppi di 4 pagine, la sequenza generata Õ 4-1-2-3, in modo da poter stampare un foglio in cui sul fronte (recto) appaiano le pagine 4-1 e sul retro (tergo) le pagine 2-3. Questo permette di piegare il foglio e di leggerlo a modo di libretto. In tal caso si hanno legature di un solo foglio.
I gruppi di pagine possono essere di dimensioni maggiori, precisamente si tratta di multipli di 4, e se non viene specificato diversamente con le opzioni, si intende un gruppo di dimensioni sufficienti a contenere tutte le pagine contenute nel file originale.
Se il secondo file non viene indicato attraverso la riga di comando, il risultato viene emesso attraverso lo standard output; se non viene indicato nemmeno il primo, il file da elaborare viene tratto dallo standard input.
|
Durante l'elaborazione, viene emesso attraverso lo standard error l'elenco dei numeri di pagina che vengono elaborati. Se si utilizza questa opzione, se ne sopprime la segnalazione.
|
L'opzione
permette di definire la dimensione del raggruppamento. Se non viene specificato, si intende un unico gruppo per tutte le pagine del file originale. Il valore minimo Õ 4 e puÐ assumere solo un valore multiplo a 4.
-
s
$
psbook
-
s4 documento.ps mio_file.ps
Elabora il file documento.ps
generando il file mio_file.ps
con una sequenza del tipo 4-1+2-3.
$
psbook
-
s8 documento.ps mio_file.ps
Elabora il file documento.ps
generando il file mio_file.ps
con una sequenza del tipo 8-1+2-7+6-3+4-5.
pstops [<opzioni>] <definizione-pagine> [<file-originale> [<file-elaborato>]] |
pstops
elabora un file PostScript generando un altro file in cui le pagine possono figurare ridotte, ingrandite, ruotate e sovrapposte. Lo scopo di pstops
Õ anche quello di riorganizzare la sequenza di queste pagine, in modo piÛ libero rispetto a psbook
.
Se il secondo file non viene indicato attraverso la riga di comando, il risultato viene emesso attraverso lo standard output; se non viene indicato nemmeno il primo, il file da elaborare viene tratto dallo standard input.
L'argomento piÛ delicato di pstops
Õ quello che serve a definire le pagine: si tratta di un unico argomento che definisce come sono raggruppate, e per ogni raggruppamento definisce le nuove pagine che vengono generate. Per comprendere il senso di ciÐ occorre scomporre questo argomento in fasi successive. Per prima cosa viene definito come sono fatti i gruppi:
[<modulo>:]<definizione-pagine-del-gruppo> |
Il modulo Õ un numero che esprime la quantitÞ di pagine da prendere in considerazione di volta in volta. Il valore minimo Õ di una sola pagina, e si tratta anche di quello predefinito nel caso non sia indicato espressamente. In base a questo raggruppamento, vengono definite delle pagine relative numerate a partire da 0, fino al valore del modulo meno uno. Ogni pagina relativa viene definita con la sintassi seguente:
[
|
In pratica, il numero relativo della pagina serve a specificare a quale pagina del modulo si fa riferimento. Questo numero potrebbe essere fatto precedere dal segno
, ma in tal caso si intende fare riferimento a raggruppamenti che partono dalle pagine finali del documento e scorrono verso quelle iniziali.
-
Le lettere L
, R
e U
, servono rispettivamente a ottenere una rotazione a destra (di 90 gradi in senso orario), a sinistra (di 90 gradi in senso antiorario) e a rovesciare dall'alto in basso (rispetto al suo orientamento originale). Queste lettere possono essere usate in modo cumulativo, e di solito si combinano la L
con la U
, o la R
con la U
(combinare la L
con la R
non serve a nulla). Dopo queste lettere puÐ essere indicata una scala (preceduta dal simbolo @
). Il valore che regola la scala Õ tale per cui 1 corrisponde al 100%, di conseguenza, per indicare delle riduzioni si useranno valori inferiori a 1 (utilizzando il punto come separatore decimale).
L'ultima parte della definizione della pagina serve a stabilire uno spostamento di questa sulla superficie del foglio finale che si vuole ottenere. I due numeri indicano uno spostamento orizzontale e verticale. L'unitÞ di misura predefinita Õ il punto tipografico, ma puÐ essere specificata un'unitÞ di misura piÛ conveniente: cm
per i centimetri e in
per i pollici. I valori sono sempre positivi, ma per sapere l'effetto che questi hanno (per determinare se lo spostamento Õ verso destra o sinistra, oppure in alto o in basso) occorre provare necessariamente, perchÈ tutto dipende dal tipo di rotazione che si stabilisce. In ogni caso, se si ruotano le pagine Õ indispensabile spostarle, altrimenti queste risultano collocate fuori dalla superficie finale.
Per mettere assieme piÛ pagine su uno stesso foglio, si usa il simbolo +
per unirne le specifiche; per indicare le pagine da collocare su facciate finali successive, si usa una virgola (,
) per unire assieme tali indicazioni.
A titolo di esempio, si osservi la definizione seguente con la quale si vogliono stampare due pagine A4, riducendole, su un'unica facciata A4.
2:0L@0.7(21cm,0)+1L@0.7(21cm,14.85cm) |
Il numero 2 iniziale Õ il modulo di due pagine. Segue la definizione della prima pagina di questo raggruppamento, la numero 0, che viene ruotata di 90 gradi in senso antiorario (verso sinistra), viene ridotta al 70%, e viene anche sposta in orizzontale di 21 cm. La seconda pagina relativa (la numero 1) viene collocata nella stessa facciata finale, e questo lo si vede perchÈ Õ unita attraverso il simbolo +
. La seconda pagina viene ruotata anch'essa di 90 gradi in senso antiorario, Õ ridotta nello stesso modo, e viene spostata orizzontalmente come la prima, ma anche verticalmente di 14,85 cm. Il risultato che si ottiene Õ una pagina A4 che deve essere rovesciata in senso orario per poter leggere le due pagine ridotte.
4:3L@0.7(21cm,0)+0L@0.7(21cm,14.85cm),1R@0.7(0,29.75cm)+2R@0.7(0,14.85cm) |
Questo nuovo esempio, simile al precedente, mostra la generazione di due facciate finali, in pratica un fronte-retro, dove nella prima si inseriscono le riduzioni della prima e della quarta pagina di un raggruppamento di quattro (4-1), e nella seconda facciata finale le riduzioni della seconda e della terza pagina del raggruppamento (2-3). Nella prima facciata, le pagine ridotte sono orientate verso sinistra, nella seconda sono orientate verso destra. In pratica, si ottiene una sequenza 4-1+2-3, orientata in modo da essere stampata correttamente con una stampante duplex.
|
Definisce l'ampiezza orizzontale della carta del formato finale. Se il valore viene espresso senza l'indicazione dell'unitÞ di misura, si intende trattarsi di punti tipografici.
|
Definisce l'ampiezza verticale della carta del formato finale. Se il valore viene espresso senza l'indicazione dell'unitÞ di misura, si intende trattarsi di punti tipografici.
|
In alternativa all'indicazione delle dimensioni del formato finale, si puÐ usare questa opzione per indicare direttamente il nome standard del formato finale. Se le dimensioni non vengono definite, si sottintende trattarsi di a4
.
|
Con questa opzione si ottiene una cornice attorno alle pagine, con lo spessore indicato dall'argomento (in mancanza dell'unitÞ di misura, si intendono punti tipografici). Se lo spessore non viene specificato, si ottiene una linea di un punto.
|
Durante l'elaborazione, viene emesso attraverso lo standard error l'elenco dei numeri di pagina che vengono elaborati. Se si utilizza questa opzione, se ne sopprime la segnalazione.
I programmi del pacchetto PSUtils sono potentissimi, ma anche complicati da usare. Alcuni esempi per comprendere come combinarli assieme dovrebbe essere di aiuto.
Molti degli esempi mostrati sono realizzati con comandi piuttosto lunghi. Qui vengono mostrati spezzati su piÛ righe, utilizzando la barra obliqua inversa (\
) alla fine della riga da continuare, per riprendere il comando in quella successiva, cosË come si potrebbe fare con la shell Bash.
Gli esempi mostrati qui sono fatti per ottenere file PostScript adatti alla stampa su una sola facciata alla volta.
$
psbook
-
s4 originale.ps | psnup -
2 > mio_file.ps
Rielabora il file originale.ps
generando una pagina ogni due di origine, e facendo in modo che il risultato possa essere stampato in fronte-retro con una stampante normale, secondo la sequenza mostrata nella figura
64.5.
$
pstops \
>
"4:3L@0.7(21cm,0)+0L@0.7(21cm,14.85cm),1L@0.7(21cm,0)+2L@0.7(21cm,14.85cm)" \
>
originale.ps mio_file.ps
Come nell'esempio precedente, facendo uso di pstops
.
*2*
$
psbook
-
s4 originale.ps | pstops \
>
"4:0L@0.7(21cm,0)+1L@0.7(21cm,14.85cm),2L@0.7(21cm,0)+3L@0.7(21cm,14.85cm)" \
>
> mio_file.ps
Esattamente come nell'esempio precedente, facendo uso di psbook
e di pstops
.
$
psbook
-
s4 originale.ps | psnup -
2 | psselect -
e > mio_file.ps
Come nel primo esempio, selezionando solo le pagine pari del risultato finale.
$
psbook
-
s4 originale.ps | psnup -
2 | psselect -
o -
r > mio_file.ps
Come nell'esempio precedente, selezionando solo le pagine dispari del risultato finale, e invertendone l'ordine.
$
psbook originale.ps | psnup
-
2 > mio_file.ps
Rielabora il file originale.ps
generando una pagina ogni due di origine, e facendo in modo che il risultato possa essere stampato in fronte-retro, ma a differenza del primo esempio, i fogli stampati andranno rilegati piegandoli tutti assieme, unendoli al centro.
$
psbook
-
s16 originale.ps | psnup -
2 > mio_file.ps
Rielabora il file originale.ps
generando una pagina ogni due di origine, a segnature di 4 fogli A4 da piegare a metÞ, e facendo in modo che il risultato possa essere stampato in fronte-retro con una stampante normale.
$
psbook
-
s16 originale.ps | pstops \
>
"4:0L@0.7(21cm,0)+1L@0.7(21cm,14.85cm),2L@0.7(21cm,0)+3L@0.7(21cm,14.85cm)" \
>
> mio_file.ps
Come nell'esempio precedente.
Questi altri esempi sono fatti per ottenere file PostScript adatti alle stampanti duplex, che perÐ possono essere utilizzati anche con stampanti normali, ruotando opportunamente i fogli prima di reimmetterli nella stampante. Si veda la figura 64.7.
$
pstops \
>
"4:3L@0.7(21cm,0)+0L@0.7(21cm,14.85cm),1R@0.7(0,29.75cm)+2R@0.7(0,14.85cm)" \
>
originale.ps mio_file.ps
Rielabora il file originale.ps
generando una pagina ogni due di origine, e facendo in modo che il risultato possa essere stampato in fronte-retro con una stampante duplex, oppure una normale secondo la sequenza mostrata nella figura
64.7.
$
psbook
-
s4 originale.ps | pstops \
>
"4:0L@0.7(21cm,0)+1L@0.7(21cm,14.85cm),2R@0.7(0,29.75cm)+3R@0.7(0,14.85cm)" \
>
> mio_file.ps
Esattamente come nell'esempio precedente.
$
psbook
-
s16 originale.ps | pstops \
>
"4:0L@0.7(21cm,0)+1L@0.7(21cm,14.85cm),2R@0.7(0,29.75cm)+3R@0.7(0,14.85cm)" \
>
> mio_file.ps
Come nell'esempio precedente, ma ottenendo segnature di 4 fogli A4 da piegare a metÞ.
Peter J. Weingartern, A First Guide to PostScript
http://www.cs.indiana.edu/docproject/programming/postscript/postscript.html
Internet PostScript Resources
Thomas Merz, Ghostscript User Manual, 1997
---------------------------
Appunti Linux 1999.09.21 --- Copyright © 1997-1999 Daniele Giacomini -- daniele @ pluto.linux.it
1.) PostScript is a trademark of Adobe Systems Incorporated.
2.) Come si vede, il comando viene mostrato spezzato su due righe per un problema di spazio nella composizione tipografica. La barra obliqua inversa alla fine della prima riga, indica la continuazione. All'inizio della seconda riga appare il simbolo >
, per sottolineare il fatto che si sta continuando un comando.