Capitolo
3 - Configurazione
La configurazione di
Printfil è memorizzata nel file PRINTFIL.INI.
Questo file viene gestito in automatico dalla finestra di
Configurazione di Printfil (cliccando con il tasto destro
sull'icona nella tray area), ma se volete può anche
essere manipolato con un semplice editor di testi. In
questo secondo caso però Printfil deve essere riavviato
per Applicare le modifiche eseguite manualmente.
Il file PRINTFIL.INI
viene letto alla partenza di Printfil, cercandolo
prima nella directory corrente, poi, se non trovato,
nella directory di installazione di Windows (di solito
C:\WINDOWS o C:\WINNT).
Opzionalmente,
può essere creato un secondo file ASCII (FILENAME.CFG)
per contenere informazioni specifiche, che possono
variare da stampa a stampa.
Questo file e' opzionale, ma molto utile per controllare
nel dettaglio alcune stampe. Ad esempio puo' essere
utilizzato per inviare una stampa ad una stampante
specifica, diversa da quella selezionata per default,
oppure per prefissare dei margini specifici per una
stampa in particolare. Se si desidera utilizzarlo, deve
essere generato manualmente (di solito dalla stessa
applicazione che genera il file di stampa).
PRINTFIL.INI
Le voci di
configurazione sono contenute nella sezione [Config] . Ad
esempio:
| C:\WINDOWS\PRINTFIL.INI
[Config]
FileName=F:\Spool\FileName.txt
Font=Courier New
|
Di
seguito il significato delle varie voci:
FileName
Questo è il nome
del/i file ascii controllato/i da Printfil contenente
la stampa sorgente. Questo file può essere creato direttamente dalla Vs. applicazione o da Printfil stesso, quando impostato per catturare una porta LPT come descritto nel Capitolo 7 di questo manuale.
Questo campo può includere anche
wildcards (? , *) per controllare
diversi file contemporaneamente ed il percorso (ad
es. F:\SPOOL\FILE*.TXT).
Può includere anche
variabili d'ambiente per controllare
file diversi e/o directory diverse (ad esempio [e:HOMEPATH]\filename.txt
, che è il valore predefinito quando si installa Printfil su
sistemi basati su NT (Windows NT, Windows 2000, Windows XP, Windows
2003, Windows Vista, Windows 2008, Windows 7), fa sì che
Printfil controlli, ad esempio, c:\document and
settings\Administrator\filename.txt o c:\document
and settings\user\filename.txt , a seconda di
quale utente esegue Printfil)
Le variabili d'ambiente devono essere incluse tra
parentesi ed iniziare con e:. Ad esempio:
c:\dir\[e:ENV_VAR]\file.ext
Il FileName inserito
in questo campo non può avere estensione .CFG
Di conseguenza, se desiderate utilizzare anche il
file CFG opzionale (vedere di seguito in questo
capitolo), non è possibile utilizzare il wildcard
"*" nell'estensione (file*.txt è
corretto, mentre file.* non lo è perchè
altrimenti Printfil cercherebbe di stampare anche file.cfg,
che è invece dedicato alla configurazione)
Capture ( LPT1: ,
LPT2: .. LPT9: )
Se si desidera che
Printfil catturi in automatico l'output inviato ad
una porta parallela, si puo' impostare qui il nome
della porta.
Nei sistemi Windows più datati questo richiede la creazione della stampante
virtuale "Printfil" nel
Pannello di Controllo di Windows, come descritto nel
Capitolo 7: "Catturare l'output di una porta
parallela".
CapMode ( 0 , 1 , 2 ,
3 )
Se Printfil è in
esecuzione su un sistema basato su NT
(Windows NT, Windows 2000, Windows XP, Windows 2003, Windows Vista, Windows 2008, Windows 7),
è possibile catturare l'output inviato ad
una porta parallela con 4 diverse modalità. Per
maggiori informazioni consultare il Capitolo 7:
"Catturare l'output di una porta
parallela".
Sui sistemi 9x/ME,
è possibile abilitare solo il modo 1
Printer
E' il nome della
stampante da utilizzare (non il nome della porta). Se
Choose=.F. (vedi sotto), la stampa uscirà su questo
dispositivo senza chiedere nulla all'utente.
Choose ( .T. = vero , .F. = falso )
Se è impostato = .T.
, quando PRINTFIL rileva un file da stampare,
l'utente può scegliere la stampante desiderata e
modificare le sue proprietà (copie, dimensioni del
foglio etc.).
WTSnoSes ( .T. = vero , .F. = falso )
Se è impostato = .T.
, nei sistemi Windows Terminal Server, il numero della sessione dopo il nome della stampante viene ignorato (ad esempio: HP LaserJet (from REMOTE-PC) in
session 1" diventa solo "HP LaserJet (from REMOTE-PC). Questa è un'alternativa all'opzione "Choose"
di cui sopra per rendere il nome della stampante indipendente dalle
diverse sessioni RDP. Trovate maggiori informazioni
nell'articolo: Come catturare stampe DOS in Windows Terminal Server
RAW ( .T. = vero
, .F. = falso = GDI)
Abilita la stampa in
modalità RAW piuttosto che GDI.
Quando si stampa in
modalità RAW, il flusso di dati viene inviato alla
stampante prescelta COSI' COM'E', senza passare
attraverso il driver della stampante e senza
modifiche alle sequenze di escape integrate. Questo
consente stampe molto veloci su stampanti ad
aghi (come ai tempi del DOS, anche se la
stampante è USB), il trattamento di stampe
contenenti sequenze di controllo della
stampante in grafica (grafici, disegni ecc.)
e l'invio di sequenze di escape dedicate a
stampanti particolari (taglio etichette,
apertura cassetto contante ecc.)
In modalità RAW, la
stampa deve essere già formattata con i
caratteri di controllo giusti per la stampante a cui
è destinata. Possono essere pilotate in modalità
RAW tutte le stampanti, incluse quelle USB, tranne le
stampanti GDI (stampanti che non accettano un file
RAW in input) e le stampanti virtuali, come i
FaxModem (WinFax ecc.) e i PDF writers (Acrobat
Distiller ecc.)
Se viene
impostato a .T. tutti i successivi parametri in
questo capitolo saranno disabilitati, tranne Timer.
Preview ( .T. =
vero , .F. = falso )
Se è impostato = .T.
, PRINTFIL visualizzerà l'anteprima prima di
procedere alla stampa del file.
PrevZoom ( .T. =
vero , .F. = falso )
Se è impostato = .T. ,
all'apertura dell'anteprima di stampa la pagina risulterà
già zoommata. Se = .F. l'anteprima di stampa mostrerà la
pagina intera a video.
Font
E' il nome di un
qualsiasi font installato sul PC.
Non è necessario
indicare la dimensione del font, in quanto esso viene
automaticamente dimensionato per occupare l'intera
pagina, come descritto piu' sotto
NOTA:
Teoricamente è possibile utilizzare qualsiasi font
presente in macchina, ma se la Vs. stampa era stata
progettata per essere eseguita su una stampante ad
aghi, e' facile che per motivi di incolonnamento, si
debba usare un font a larghezza fissa, come il
Courier New o il Lucida Console.
Color
E' il valore RGB
convertito in decimale per il colore del testo. Il
valore di default è Nero (RGB 0,0,0 = decimale 0).
Per calcolare il valore decimale del colore RGB si
utilizza la seguente formula:
ROSSO
x 256 ^ 0 + VERDE x 256 ^ 1 + BLU
x 256 ^ 2
Ad
esempio:
NERO =RGB 0,0,0 = 0 x 256^0 + 0 x 256^1 + 0
x 256^2 = 0
ROSSO=RGB 255,0,0 = 255 x 256^0 + 0 x 256^1
+ 0 x 256^2 = 255
VERDE=RGB 0,255,0 = 0 x 256^0 + 255 x 256^1
+ 0 x 256^2 = 65280
BIANCO=RGB 255,255,255 = 255 x 256^0 + 255 x
256^1 + 255 x 256^2 = 16777215
AnsiConv
( .T. = vero = Ansi , .F. = falso = OEM )
Questa riga setta
Printfil in modo che applichi la conversione OEM
oppure ANSI alla tabella dei codici del font
selezionato.
La conversione OEM
e' particolarmente utile se si vuole stampare cornici od altri caratteri speciali usando un font
PC8, come l'
Timer
Serve per impostare
ogni quanti secondi PRINTFIL deve controllare se
esiste il file da stampare. Non e' bene impostare un
intervallo troppo basso, perche' PRINTFIL potrebbe
cominciare a stampare un file che il programma
gestionale non ha ancora terminato di creare. Di
solito 2 secondi sono un tempo sufficiente per
consentire il termine del file da parte del programma
gestionale e, d'altra parte, non prolungare troppo
l'attesa dell'utente. E' da notare pero' che, se il
programma gestionale esegue operazioni molto pesanti
durante la stampa (ad es. lunghe select su un
database molto grosso), il file di stampa potrebbe
anche non crescere per piu' di 2 secondi, causando la
partenza prematura di Printfil. In questi casi si
puo' usare la tecnica alternativa di stampare su un
file temporaneo, poi, a lavoro ultimato, copiare il
file temporaneo su quello definitivo.
Il Timer non va
impostato in base al tempo totale di creazione della
stampa, ma va imputato un tempo necessario a coprire
la più lunga pausa durante il processo di
stampa.
UM
Unità di Misura -
Centimetri o Pollici - CM o IN
Top , Left ,
Right , Bottom
Servono per
impostare i valori dei margini di stampa (nell'unita'
di misura precedentemente impostata).
Generalmente non è
buona regola impostare alcuni margini a zero, perchè
normalmente le stampanti hanno bisogno di un certo
margine su ogni lato del foglio per
"tenerlo" fisicamente (hardware).
Rows
E' il numero di
righe che compone ogni pagina. PRINTFIL
"spezzerà" il file in piu' pagine
utilizzando questo valore o quando viene incontrato
un carattere di Avanzamento Pagina (Form Feed - Ascii
12 - vedere Capitolo 5: "Caratteri di
Controllo").
L'altezza del font
verrà adeguata alle dimensioni del foglio
specificate nelle proprieta' della stampante.
CutRows
Questo parametro
dice a Printfil quante righe "tagliare"
dopo ogni pagina. Puo' essere utile se l'applicazione
originale stampa una fascia aggiuntiva dopo ogni
pagina (ad esempio per far si' che la pagina uscisse
dai trattori di una stampante ad aghi per poterla
strappare con facilita') ma si vuole fare in modo che
Printfil stampi solo la pagina principale.
Ad esempio, se
l'applicazione originale stampa su fogli a 16"
(96 linee), dove i primi 12" (72 linee)
contengono una Fattura ed i rimanenti 4" (24
linee) vengono utilizzati su una fascia di
separazione dei moduli, e' possibile impostare
Rows=72 e CutRows=24, ottenendo solo le Fatture a
stampa su moduli A4, senza dover modificare
l'applicazione originale.
La presenza di un
carattere di controllo speciale: "Form
Feed", interrompe il conteggio delle linee per
questa sezione e causa l'inizio di una nuova pagina.
Per maggiori informazioni consultare il Capitolo 5:
"Caratteri di Controllo"
Columns
E' il numero massimo
di colonne della stampa (cioe' la lunghezza della
riga piu' lunga del file di stampa). PRINTFIL
adeguera' la larghezza del font selezionato alle
dimensioni del foglio specificate nelle proprieta'
della stampante.
Se una riga contiene
più caratteri di quanti specificati, quelli
eccedenti verranno scartati.
Se viene indicato 0
(zero), Printfil adottera' il valore massimo trovato
nella prima pagina della stampa.
AutoLand
In questo campo e'
possibile impostare il numero di caratteri per riga
oltre il quale Printfil impostera' automaticamente
l'orientamento orizzontale. Ad es., se e' impostato a
100, una stampa ad 80 colonne verra' eseguita su un
foglio verticale, mentre una stampa a 132 colonne (il
tipico A4 compresso del DOS, o l'A3 normale), verra'
eseguita su un foglio orizzontale.
Se viene impostato a
0 (zero), Printfil non eseguira' alcun orientamento
in automatico, ma l'utente potra' comunque impostare
quello preferito agendo sulla finestra di
impostazione della stampante di Windows (se
Choose=.T.).
FILENAME.CFG
Questo file e'
opzionale. Di regola viene generato dall'applicazione
gestionale assieme al file di stampa, ma puo' anche
essere creato manualmente con il "Blocco Note".
E' un normale file ascii, senza le convenzioni del
formato .INI
In assenza di questo
file o di alcune righe, vengono utilizzati dei valori
predefiniti.
Il FILENAME e' lo stesso
nome del file che è correntemente in stampa, incluso il
percorso. L'estensione e' obbligatoriamente .CFG
Ad esempio, se in PRINTFIL.INI - Filename =
C:\Spool\file*.txt , ed è correntemente in stampa
file0001.txt, allora questo file deve chiamarsi
C:\Spool\file0001.cfg
Può contenere 14 righe:
1) NOME DELLA
STAMPA
E' una descrizione
estesa che viene visualizzata nel titolo della
finestra contenente l'eventuale anteprima di stampa,
e nella lista delle stampe presenti nello spooler di
Windows.
Il valore
predefinito è "Anteprima" (nella lingua
impostata)
2) NUMERO DI
RIGHE
Se presente, questo
valore viene utilizzato al posto di Rows
nel file Printfil.ini.
Opzionalmente è
possibile indicare un secondo parametro, separato da
un carattere "pipe" ("|" , ascii
124), da utilizzare al posto di CutRows
nel file Printfil.ini
Ad esempio, se
l'applicazione originale stampa su fogli a 16"
(96 linee), dove i primi 12" (72 linee)
contengono una Fattura ed i rimanenti 4" (24
linee) vengono utilizzati su una fascia di
separazione dei moduli, è possibile impostare questa
riga nel file CFG come:
72
| 24
ottenendo solo le
Fatture a stampa su moduli A4, senza dover modificare
l'applicazione originale.
3) NUMERO DI
COLONNE
Se presente, questo
valore viene utilizzato al posto di Columns
nel file Printfil.ini.
Se viene indicato 0
(zero), Printfil adottera' il valore massimo trovato
nella prima pagina della stampa, indipendentemente
dal valore impostato nel file Printfil.ini
4) NOME FILE DI
SFONDO
E' il nome
dell'eventuale file grafico che si vuole includere
come sfondo in tutte le
pagine della stampa.
Se il file è .BMP,
tramite opportuni parametri è possibile specificare
le dimensioni desiderate e la sua posizione sul
foglio. Vedere Capitolo 6.
5) NUMERO DI
COPIE
E' il numero di
copie del documento che verranno stampate.
Se non specificato,
il valore predefinito e' 1.
Se Choose =
.T. in PRINTFIL.INI , questo valore viene
ignorato ed il numero di copie stampate sara' quello
specificato dall'utente nella finestra di
impostazione della stampante.
6) MARGINI DI
STAMPA
In questa riga sono
contenuti i valori dei margini di stampa e l'unita'
di misura in cui sono espressi (Cm. o pollici),
separati da virgole, nel seguente formato:
unita'
di mis. , margine in alto , a sinistra , in basso , a
destra
Se la riga è
presente, questi margini verranno applicati solo alla
singola stampa in corso.
Se l'intera
riga è assente, PRINTFIL utilizzerà i margini di
default (impostati in PRINTFIL.INI)
Se mancano solo
alcuni valori nella riga, PRINTFIL assume siano 0
(zero). Per esempio, indicare CM,1,0,2,0
è equivalente a CM,1,,2
E' da notare
comunque che non è generalmente buona regola
impostare alcuni margini a zero, perchè normalmente
le stampanti hanno bisogno di un certo margine su
ogni lato del foglio per trascinarlo sotto la testina
di stampa (hardware).
7) STAMPANTE
E' il nome della
stampante da utilizzare ai soli fini della stampa
attuale.
Funziona solo se
Printfil è configurato per non chiedere all'utente
la stampante preferita ( Choose=.F. in PRINTFIL.INI o
Riga 8 in questo file. Vedere di seguito)
Se la riga non è
presente, o contiene un nome non valido, PRINTFIL
invierà la stampa alla stampante predefinita nel
file PRINTFIL.INI
8) SCELTA STAMPANTE
Se presente, questo
valore viene utilizzato al posto di Choose
nel file Printfil.ini. Vedere sopra
9) ANTEPRIMA
Se presente, questo
valore viene utilizzato al posto di Preview
nel file Printfil.ini. Vedere sopra
10) NUMERO DI
CARATTERI OLTRE IL QUALE IMPOSTARE AUTOMATICAMENTE
L'ORIENTAMENTO ORIZZONTALE
Se presente, questo
valore viene utilizzato al posto di AutoLand
nel file Printfil.ini. Vedere sopra
Se volete che una
singola stampa risulti sicuramente verticale potete
impostare questa riga a 9999, mentre impostandola a 1
la stampa verrà sicuramente orientata in
orizzontale. Impostandolo, ed esempio, a 150,
significa che se la stampa è larga fino a 150
colonne, sarà orizzontale, mentre se la stampa è
più larga verrà automaticamente orientata in
orizzontale.
11) RAW
Se presente, questo
valore viene utilizzato al posto di RAW
nel file Printfil.ini. Vedere sopra.
Do solito viene
utilizzato in combinazione con la riga 7 per inviare
una stampa complessa ad una stampante specifica o per
stampare velocemente su una stampante ad aghi.
12) E-MAIL
Se presente, questa
riga viene utilizzata per inviare la stampa via
e-mail in formato PDF. Vedere Capitolo 10.
Può contenere
4 valori, separati dal carattere "pipe"
("|" , ascii 124)
Mostra
| e-mail | Oggetto |
Corpo
Mostra
= .T. (vero)
or .F. (falso) - Se il messaggio
e-mail deve essere mostrato all'utente prima di
essere spedito o meno. Se è .T. e
l'utente non clicca il bottone Invia
, il messaggio verrà chiuso senza essere spedito.
e-mail
= Indirizzo/i del destinatario/i. Se non viene fornito, Mostra
viene assunto sia .T.
, in modo che l'utente possa inserirlo prima di spedire l'e-mail.
Potete specificare diversi destinatari separandoli da ";". Ogni singolo
indirizzo può essere specificato sia come user@domain.com che come Nome <user@domain.com>
Oggetto
= Oggetto del messaggio e-mail.
Corpo =
Testo del messaggio. Può essere un semplice testo o
il nome di un file di testo (con eventuale percorso).
Se viene specificato il nome di un file, ed il file
esiste, allora il suo contenuto verrà utilizzato
come testo nel messaggio.
Sia l'oggetto che il
corpo del messaggio saranno convertiti in formato
Ansi / Oem, a seconda di come è impostato AnsiConv
nel file Printfil.ini
Attenzione che anche
se è sufficiente impostare questa riga semplicemente
a .F. per dire a Printfil che il
file PDF deve essere spedito via e-mail, se volete
inviarlo senza l'intervento dell'utente,
dovete almeno inserirla come .F.|user@domain.com
, altrimenti il messaggio e-mail verrà mostrato a
video.
Anche se
ora questa riga è utilizzata solo quando Printfil è
impostato per stampare sulla propria stampante
virtuale, non inseritela se non volete spedire la
stampa via e-mail, perchè in versioni future di
Printfil potrebbe essere utilizzata anche in altri
casi.
ESEMPI
.T.
- Dopo che la stampa sarà stata convertita in
formato PDF, un messaggio e-mail sarà
automaticamente mostrato all'utente. L'utente potrà
quindi completarlo e spedirlo, oppure chiudere
semplicemente il messaggio.
.F.|user@domain.com
- Dopo che la stampa sarà stata convertita in
formato PDF, verrà automaticamente inviata a
user@domain.com senza l'intervento dell'utente.
.F.|user@domain.com|My
Subject|My Body - Dopo che la stampa sarà
stata convertita in formato PDF, verrà
automaticamente inviata a user@domain.com senza
l'intervento dell'utente, con oggetto "My
Subject" e corpo "My Body"
.T.|user@domain.com|My
Subject|C:\Path\MyBodyText.txt - Dopo che la
stampa sarà stata convertita in formato PDF, verrà
mostrato un messaggio e-mail all'utente, che dovrà
scegliere se spedirlo o meno. Il messaggio è gia
completo dell'indirizzo del destinatario
user@domain.com, oggetto "My Subject" ed il
contenuto del file C:\Path\MyBodyText.txt come corpo.
.F.|John Doe <john.doe@domain.com>; Jane Roe <jane.roe@domain.com>|My
Subject|C:\Path\MyBodyText.txt - La stampa di cui sopra viene inviata sia a John Doe che a Jane Roe senza l'intervento dell'utente.
13) NOME FILE PDF |
APRI
Se create un file
PDF senza l'intervento dell'utente tramite la
stampante virtuale "Printfil" (vedere
Capitolo 9), potete inserire il nome del file in
questa riga, con percorso ed estensione opzionali.
Se il file PDF viene
creato con successo, è anche possibile aprirlo
automaticamente, utilizzando il PDF reader
predefinito (per esempio Acrobat Reader)
- Se non viene
specificato il percorso, il file PDF verrà
creato nella directory corrente
- Se non viene
specificata l'estensione, al nome del file
verrà aggiunta l'estensione .PDF
- Se viene
specificata un estensione diversa da .PDF ,
verrà cambiata in .PDF
- Se non viene
specificata l'intera riga, il file PDF verrà
creato con lo stesso nome e percorso del
corrispondente file TXT, ma con estensione
.PDF
Ad esempio: Se il file di stampa è
c:\spool\printfil.txt , il file PDF verrà
creato come c:\spool\printfil.pdf
Dopo il nome del
file è possibile inserire un ulteriore parametro
(.T. o .F.), separato dal carattere "pipe"
("|" , ascii 124), per aprire il PDF appena
creato utilizzando il PDF reader predefinito.
ESEMPI
c:\spool\MyFile
- Il file PDF verrà creato come c:\spool\MyFile.pdf,
indipendentemente dal nome del file ascii di stampa.
c:\spool\MyFile.pdf|.F.
- Come sopra.
c:\spool\MyFile.pdf|.T.
- Dopo aver creato il file c:\spool\MyFile.pdf , esso
verrà automaticamente aperto, utilizzando il
programma PDF predefinito (ad esempio Acrobat Reader)
|.T.
- Il file PDF verrà creato con lo stesso nome del
file TXT corrispondente, con estensione PDF. Dopo
essere stato creato, verrà automaticamente aperto
utilizzando il programma PDF predefinito.
14) CANCELLA IL CFG
Se
questa riga contiene .T., il file CFG viene automaticamente cancellato
da
Printfil dopo che il corrispondente file TXT è stato stampato,
altrimenti resta al suo posto. Cancellare il CFG potrebbe essere utile
se il programma sorgente lo crea solo per alcune
stampe (per includere uno specifico BMP di sfondo per esempio), mentre
questa linea non dovrebbe mai essere impostata a .T. se il file CFG
viene creato manualmente (staticamente)
|