Discussione:
Avrei bisogno di un esempio funzionante dell'uso della keyword AFPRSC per stampare un pdf
(troppo vecchio per rispondere)
WalterC
2022-03-15 11:58:51 UTC
Permalink
Come da oggetto: vorrei includere in una stampa un .pdf che sta in una dir
dell'IFS, ma fino ad ora non ho cavato il ragno dal buco.
Sono partito da questo post
https://blog.faq400.com/it/programmazione/afpds-afprsc-prtf/ ed ho creato
un printer file, qui di seguito la parte che dovrebbe stampare il .pdf

* -- Immagine

A R IMAG01P TEXT('Immagine ')

A AFPRSC(&RSNAM &RSOTN +

A &RSXPO &RSYPO +

A (*PATH &RSPAT) +

A (*MAPOPT &RSMAP) +

A (*ROTATION &RSROT) +

A (*SIZE &RSWSZ &RSHSZ))

A RSNAM 64A P TEXT('Nome risorsa grafica
')
A RSOTN 10A P TEXT('Tipo risorsa grafica
')
A RSXPO 5S 3P TEXT('RS Posizione x (down)
')
A RSYPO 5S 3P TEXT('RS Posizione y (across)
')
A RSWSZ 5S 3P TEXT('RS Size width
')
A RSHSZ 5S 3P TEXT('RS Size heigth
')
A RSROT 3S 0P TEXT('RS Rotation 0/90/180/270
')
A RSMAP 3 P TEXT('RS Map option
')
A RSPAT 64 P TEXT('RS directory risorsa
grafica')

ed ho creato un programmino che legge una tabella (di un record) in cui ci
sono tutti i parametri, di modo che posso fare tutte le prove che voglio
senza sta li a ricompilare.
Funziona magnificamente per le immagini (file di tipo .jpg), ad esempio
com questi parametri

RSNAM = EN-9100_col.jpg
RSOTN = *JFIF
RSXPO = 27.500
RSYPO = 15.600
RSWSZ = 3.600
RSHSZ = 2.400
RSROT = 0
RSMAP = *SL
RSPAT = /afprsc

stampa il logo della certificazione ISO EN-9100

ma se metto in RSNAM il nome di un .pdf (sia con l'estensione sia senza;
nel manuale, vedi https://www.audentia-gestion.fr/IBM/PDF/rzakd.pdf, non
c'e' estensione) e RSOTN è *PDFSPO stampa una pagina bianca.

Sicuramente sbaglio, ma dove?

Grazie in anticipo.
Roberto Tempesti
2022-03-15 13:16:36 UTC
Permalink
Post by WalterC
Come da oggetto: vorrei includere in una stampa un .pdf che sta in una dir
dell'IFS, ma fino ad ora non ho cavato il ragno dal buco.
Sono partito da questo post
https://blog.faq400.com/it/programmazione/afpds-afprsc-prtf/ ed ho creato
un printer file, qui di seguito la parte che dovrebbe stampare il .pdf
* -- Immagine
A R IMAG01P TEXT('Immagine ')
A AFPRSC(&RSNAM &RSOTN +
A &RSXPO &RSYPO +
A (*PATH &RSPAT) +
A (*MAPOPT &RSMAP) +
A (*ROTATION &RSROT) +
A (*SIZE &RSWSZ &RSHSZ))
A RSNAM 64A P TEXT('Nome risorsa grafica
')
A RSOTN 10A P TEXT('Tipo risorsa grafica
')
A RSXPO 5S 3P TEXT('RS Posizione x (down)
')
A RSYPO 5S 3P TEXT('RS Posizione y (across)
')
A RSWSZ 5S 3P TEXT('RS Size width
')
A RSHSZ 5S 3P TEXT('RS Size heigth
')
A RSROT 3S 0P TEXT('RS Rotation 0/90/180/270
')
A RSMAP 3 P TEXT('RS Map option
')
A RSPAT 64 P TEXT('RS directory risorsa
grafica')
ed ho creato un programmino che legge una tabella (di un record) in cui ci
sono tutti i parametri, di modo che posso fare tutte le prove che voglio
senza sta li a ricompilare.
Funziona magnificamente per le immagini (file di tipo .jpg), ad esempio
com questi parametri
RSNAM = EN-9100_col.jpg
RSOTN = *JFIF
RSXPO = 27.500
RSYPO = 15.600
RSWSZ = 3.600
RSHSZ = 2.400
RSROT = 0
RSMAP = *SL
RSPAT = /afprsc
stampa il logo della certificazione ISO EN-9100
ma se metto in RSNAM il nome di un .pdf (sia con l'estensione sia senza;
nel manuale, vedi https://www.audentia-gestion.fr/IBM/PDF/rzakd.pdf, non
c'e' estensione) e RSOTN è *PDFSPO stampa una pagina bianca.
Sicuramente sbaglio, ma dove?
Grazie in anticipo.
Potresti elencare i valori dei parametri che usi per stampare il PDF ?
Ricevi errori?
Se sì, che errori ricevi?
Grazie
--
The three most dangerous things in the world are a programmer with a
soldering iron, a hardware type with a program patch and a user with an
idea.

“Alles hat ein Ende, nur die Wurst hat zwei”
WalterC
2022-03-15 15:58:33 UTC
Permalink
Post by Roberto Tempesti
Potresti elencare i valori dei parametri che usi per stampare il PDF ?
Ricevi errori?
Se sì, che errori ricevi?
Grazie
Non ricevo errori. Per discuterne puoi scrivermi in privato, se vuoi, il
mio indirizzo di posta è valido (se togli ".invalid")

Dopo aver stampato trasformo il file in un .pdf e controllo il risultato,
perchè lavoro da remoto.

Qui di seguito le dds del printer file (in testa nei commenti c'e' il
comando di compilazione)

* CRTPRTF FILE(test_obj/DASP970P)
* SRCFILE(test_obj/QSVISTA)
* SRCMBR(DASP970P)
* DEVTYPE(*AFPDS)
* PAGESIZE(29.7 21.0 *UOM)
* OVRFLW(69)
* UOM(*CM)
* -- Salto a nuova pagina
A R NEWP01P TEXT('Salto a nuova pagina')
A 1' '
A SKIPB(001)
* -- Piede di pagina per forzare l'overflow
A R BOTP01P TEXT('Piede di pagina ')
A 1' '
A SKIPB(070)
* -- Risorsa (blog.faq400.com/it/programmazione/afpds-afprsc-prtf/)

A R RESOURCE AFPRSC(&RESNAME &RESTYPE
&POSDOWN +
A &POSACROSS
+
A (*ROTATION &ROTATION)
+
A (*PATH &PATH))

A RESNAME 125A P

A RESTYPE 10A P

A POSDOWN 5S 3P

A POSACROSS 5S 3P

A ROTATION 3S 0P

A PATH 640A P


e questo è il codice rpg
* .. apro il printer
c open DASP970P
* .. creo una pagina
c eval w_numpag = w_numpag + 1
c write NEWP01P
c write BOTP01P
/FREE
// directory che contiene il file pdf da includere nella stampa
PATH = '/spool/risorse/';
// nome file pdf
RESNAME = 'TEST01.PDF';
// tipo
RESTYPE = '*PDFSPOTR';
// position down
POSDOWN = 0,5;
// position across
POSACROSS = 0,5;
// gradi di rotazione
ROTATION = 0;
/END-FREE
c write RESOURCE
* .. chiudo il printer
c close DASP970P
* .. termine
c exsr r_Exit
WalterC
2022-03-17 16:29:21 UTC
Permalink
Post by WalterC
Come da oggetto: vorrei includere in una stampa un .pdf che sta in una dir
dell'IFS, ma fino ad ora non ho cavato il ragno dal buco.
Non son riuscito a farlo funzionare, e non sono il solo, ma ho trovato il
modo di raggiungere lo stesso scopo.
Trasformo il pdf in jpg e lo stampo. Funziona alla grande. Il mio pdf è
statico, e per questo posso trasformalo "una tantum" e poi usare il jpg.

Grazie ancora.

Loading...