Stampa PDF - DebWriter

Navigation:  Procedure Interne > Generale/servizio >

Stampa PDF - DebWriter

Previous pageReturn to chapter overviewNext page

I File coinvolti sono 4:

1.un file di modello pdf  = contiene la base da cui prelevare le pagine con le quali generare il nuovo documento.
può essere un qualsiasi file pdf purché contenente un solo documento (per ora).

2.un file di modello .txt = il file contiene i tag con le informazioni di posizionamento, font, e nome tag con cui generare il file .txt di dati

3.un file .txt che conterra i dati di stampa

4.un file .pdf generato dalla base di modello con impressi i dati di stampa.

 

 

La struttura del file di modello

 

(vers. 1.0 04/04/2017)

 

E' costituito da righe di testo separate da "|".

 

Le righe che cominciano per "#" sono considerate COMMENTI quindi da saltare.

Le righe che cominciano per "$DebWriterDirective=" contengono DIRETTIVE speciali per DebWriter che ne influenzano il comportamento globale.

Le righe che hanno 13 colonne vengono interpretate come righe contenti particolari COMANDI,

Le altre righe aventi tra le 8 e le 9 colonne sono considerati come CAMPI STANDARD

 

 

#$DebWriterDirective=Directive

#model-page|occurrence|left|top|width|height|font size|text|

#model-page|occurrence|left|top|width|height|font size|tag|text|

#model-page|occurrence|left|top|width|height|font size|text|command|option|type|LineColor|Fillcolor

# se occurrence= 0 -> skip page

# se modello-pdf-page = -1 allora copia tutte le pagine della struttura originale del modello

 

es.

#una direttiva

$DebWriterDirective=CopyAllPages

#un comando

-1|001|20|820|350|70|1,5||DrawBox|0||0,0,255|0,0,0

-1|001|30|860|300|100|09|COPIA CONFORME ALL'ORIGINALE|DrawText|0||0,0,255|0,0,0

#un campo standard con TAG e TESTO

1|1|335|780|300|100|13|<sostituto-codicefiscale-espanso>|testo

#un campo standard con solo TESTO

1|1|115|710|300|100|9|Oggi è una bella giornata

 

DIRETTIVE:

$DebWriterDirective=CopyAllPages        = indica a DebWriter di copiare Tutte le pagine del modello nel file risultante, in questo modo:

se nelle righe successive è implementata una struttura documento indicando solo solo certe pagine sul PDF questa verrà ignorata e servirà solo a scrivere i dati sulle pagine indicate.

la presenza di un occurrence > 1 invece genererà un errore sull'applicativo perchè per ora non è stata gestita

 

CAMPI STANDARD:

modello-pdf-page        = pagina del file modello .pdf, il valore -1 indicherà che vale per tutte le pagine

occurrence                = occorrenza della pagina, una pagina con occorrenza 0 verrà saltata, una pagina con occorrenza > 1 sarà duplicata

left                        = posizione orizzontale partendo dall'origine della pagina (punto in basso a sinistra della pagina) 

top                        = posizione verticale partendo dall'origine della pagina (punto in basso a sinistra della pagina)

width                        = larghezza del box di testo (deve essere adeguata a contenere il testo scritto)

height                        = altezza del box di testo (deve essere adeguata a contenere il testo scritto)

font size                = dimensione del font

tag                        = tag indica il campo a cui corrisponde il testo: serve al programma cobol per sapere che testo inserire 

testo                        = il testo che verrà stampato

 

COMMAND IMPLEMENTATI E SIGNIFICATI SPECIALI DEI CAMPI STANDARD:

per tutti i comandi dove citati:

oleft posizione orizzontale di origine

otop posizione verticale di origine

oLineColor colore in formato RGB (nnn,nnn,nnn) usato per disegnare la linea

oFillColor colore in formato RGB (nnn,nnn,nnn) usato per rimpire la forma disegnata

 

DrawBox                = serve a disegnare un box che parte dalla posizione left,top ed è di larghezza width, height

otext = viene ignorato

ofont size = è lo spessore della linea (valori decimali in formato nn,nn)

ooption può assumere i valori:

0 = box vuoto solo riquadro con linea di colore LineColor

1 = box riempito con il FillColor

2 = box riqudrato con linea di colore LineColor e riempito con il FillColor

 

DrawCircle                = serve a disegnare un cerchio che ha centro nella  posizione left,top ed è di raggio width

otext = viene ignorato

ofont size = è lo spessore della linea (valori decimali in formato nn,nn)

ooption può assumere i valori:

0 = box vuoto solo riquadro con linea di colore LineColor

1 = box riempito con il FillColor

2 = box riqudrato con linea di colore LineColor e riempito con il FillColor

 

DrawLine                = serve a disegnare un linea che parte dalla posizione left,top ed arriva alla posizione width, height

otext = viene ignorato

ofont size = è lo spessore della linea (valori decimali in formato nn,nn)

 

DrawBarcode        = serve a disegnare un Barccode che parte dalla posizione left,top ed è di larghezza width, ed altezza height, LineColor è il colore utilzzato per disegnare il barcode

otext = è il codice da stampare nel barcode, nel caso di UPC la stringa deve essere di 13 caratteri con uno 0 in testa. Il Barcode può essere ruotato aggiungendo a a fine stringa i seguenti codici:

/RC = Ruota di 90° in senso orario

/RA = Ruota di 90° in senso antiorario

/RU = Ruota di 180°

ofont size = viene usato per impostare il sia il size del font (ma probabilmente viene ignorato dalla libreria)

ooption può assumere valori diversi a seconda del type, vedi sotto, ma per tutti vale la regola che se si vuole applicare una riduzione del 10% alla largehzza delle barre occorre incrementare il valreo della relativa option di 10

otype indica il tipo di barcode da stampare e può assumere i seguenti valori:

1 = Code 39 (o Code 3 of 9), option può assumere i valori:

0 = stampa standard

2 = EAN-13 o UPC option può assumere i valori:

0 = stampa solo il barcode

1 = stampa estese le barre di delimitazione del codice (extended bar guards)

2 = Draw the human-readable numbers

3 = Draw the human-readable numbers, with right spacer

4 = Draw as UPC (leading zero is not shown)

3 = CODE128

0 = stampa standard

4 = PostNet

0 = stampa standard

5 = Interleaved 2 su 5 (Interleaved 2 of 5)

0 = Do not add a checksum, no bearer bars

1 = Add a checksum character, no bearer bars

2 = Do not add a checksum, draw bearer bars

3 = Add a checksum character, draw bearer bars

 

DrawText                = serve a scrivere una casella di testo in una certa posizione left,top con larghezza width, ed altezza height, e con con un certo colore LineColor e con un determinato allineamento determianto dall'option un linea che parte

otext = il testo da stampare

ofont size = è il size del font

oLineColor = è il colore in formato RGB che verrà usato per scrivere il testo

ooption = può assumere i valori:

0 = Center vertical alignment

1 = Top vertical alignment

2 = Bottom vertical alignment

3 = Center vertical alignment, no wrapping

4 = Top vertical alignment, no wrapping

5 = Bottom vertical alignment, no wrapping

 

DrawRotatedText                = serve a scrivere una casella di testo in una certa posizione left,top con larghezza width, ed altezza height, e con con un certo colore LineColor e con un determinato allineamento determianto dall'option un linea che parte

otext = il testo da stampare

ofont size = è il size del font

otype = è l'angolo di rotazione misurato in senso anti-orario dalla posizione orizzontale, deve essere compreso tra 0 e 360

oLineColor = è il colore in formato RGB che verrà usato per scrivere il testo

ooption = può assumere i valori:

0 = Center vertical alignment

1 = Top vertical alignment

2 = Bottom vertical alignment

3 = Center vertical alignment, no wrapping

4 = Top vertical alignment, no wrapping

5 = Bottom vertical alignment, no wrapping

 

 

 

Modalità operativa

 

Occorre leggere il file di modello .txt e da esso generare un file di output .txt che verrà dato in pasto al programma esterno, contenente le righe da stampare.

Le pagine stampate sarano solo quelle referenziate (ed eventualmente duplicate) nel file .txt di output, nell'ordine in cui verranno trovate sul file.

 

Funzionamento del programma di scrittura DebWriter