Anche se non molto conosciuta questa funzione del sistema operativo può risolvere grandi problemi. Infatti stampare spoolfiles con caratteristiche avanzate (AFPDS) è sempre stato un po’ problematico. Oltretutto per poterlo fare è necessario installare sulla singola stampante la scheda IPDS che oltre ad essere costosa non consente di utilizzare liberamente tutte le keyword delle DDS dei printer files.
Unico requisito della modalità che propongo è che la stampante supporti il meccanismo di stampa pdf in stream. Il processo di stampa in questo caso si articola nel seguente modo:
Di seguito i passi necessari per realizzare la configurazione
Prima di tutto occorre creare la device di stampa che punta alla stampante fisica
CRTDEVPRT DEVD(PRTFISICA)
DEVCLS(*LAN)
TYPE(3812)
MODEL(1)
LANATTACH(*IP)
PORT(9100) //da inserire in base a marca/modello stampante fisica
FONT(11 *NONE)
FORMFEED(*AUTOCUT)
INACTTMR(*SEC15)
MFRTYPMDL(*HP4) //da inserire in base a marca/modello stampante fisica
PPRSRC1(*A4)
PPRSRC2(*A4)
RMTLOCNAME('192.168.10.1') //indirizzo ip stampante
SYSDRVPGM(*HPPJLDRV) //da inserire in base a marca/modello stampante fisica
TEXT('Stampante HP ufficio logistica')
Dopodichè di passa a generare un oggetto di tipo *PSFCFG che si occuperà della trasformazione da spool a pdf
CRTPSFCFG PSFCFG(QGPL/PRTPDF)
USRRSCLIBL(JOBLIBL)
RLSTMR(SEC15)
PRTRSPTMR(NOMAX)
PDFGEN(SPLF)
PDFDEVTYPE(IP40300)
PDFPPRDWR1(A4)
PDFPPRDWR2(A4)
PDFSENDER(SPLFOWN)
PDFOUTQ(QUSRSYS/PRTFISICA)
TEXT('PSFCFG per PRTFISICA')
Ed infine si crea la device che innescherà la trasformazione utilizzando l’oggetto *PSFCFG e invierà la stampa alla stampante fisica
CRTDEVPRT DEVD(PRTPDF)
PORT(12501) //scegliere una porta libera sul Vostro "i" con comando NETSTAT OPTION(*CNN)
FONT(011 *NONE)
FORMFEED(*AUTOCUT)
RMTLOCNAME('127.0.0.1')
USRDFNOBJ(QGPL/PRTPDF *PSFCFG)
TEXT('Stampante virtuale pdf')
A questo punto non resta che rilasciare lo spool sulla stampante PRTPDF e verificare che lo spool venga stampato correttamente su carta.
NB: occorre fare attenzione al fatto che se il QSYSPRT ha il parametro HOLD impostato a *YES il rilascio sulla seconda coda di output dovrà avvenire manualmente: il sistema attenderà il rilascio da parte dell’utente per inviare lo stream alla stampante fisica.
L’estensione “RPG IV to Free Format Conversion” sviluppata da Bob Cozzi (Cozzi Research) è pensata per semplificare la conversione di…
Ciao a tutti, oggi voglio segnalarvi un altro interessante contributo di Massimo Duca, parte della sua ormai nota serie IBM…
Incuriosito da alcuni messaggi di Cristian Larsen su Linkedin (New Release - Display File DDS Edit v.0.10.1) ho voluto scaricare…
Ciao a tutti,oggi voglio segnalarvi un annuncio che potrebbe segnare una svolta per lo sviluppo applicativo su ambienti IBM: Project…
Voglio segnalarvi un nuovo articolo molto interessante di Massimo Duca nella serie IBM i & SQL Tips. In questo sesto…
Ciao a tutti, voglio segnalarvi un post molto utile di Marco Riva sul suo sito Markonetools, in cui spiega in…