PDA

View Full Version : PDFs aus dem IFS ausdrucken - direkt von der IBMi



JoergHamacher
07-11-13, 16:42
Hallo,

wie kann ich eine PDF-Datei, die im IFS steht, direkt über eine IBMi-OUTQ ausdrucken? Dabei soll kein (Windows-)PC ins Spiel kommen und auch keine Fremdsoftware.

Vielen Dank im Voraus für Eure Hilfe,
Jörg

Fuerchau
07-11-13, 17:33
Dies geht nur, wenn du einen Drucker hast, der native PDF's drucken kann.
Ansonsten benötigst du Fremdsoftware.
Es gibt da z.B. ein Javaprogrämmchen, das PDF's in PCL5 konvertiert.
Das Ergebnis kannst du dann mittels ein paar Copy-Befehlen dann in eine ASCII-Spooldatei ausgeben die dann von einem PCL5-Drucker gedruckt werden kann.

JoergHamacher
08-11-13, 09:32
Hallo und danke für die Info.

Ich habe folgendes gefunden und ausprobiert - und es hat auch funktioniert:
1. Printerfile *USERASCII erzeugen
CRTPRTF FILE(JH/PRINTFILE) DEVTYPE(*USERASCII)
2. PDF-Datei per FTP in Printerfile stellen
ftp loopback
user
password
bin
cd JH namefmt 1
put test.pdf printfile.file
quit
Dadurch wird für den FTP-User ein Printerfile erzeugt, das den Inhalt der PDF-Datei erhält und an den Drucker weitergibt. Das hat auch funktioniert, obwohl unser Drucker PDF an sich nicht versteht.

Jetzt habe ich allerdings eine andere Frage:
gibt es eine andere Möglichkeit als FTP, um die PDF-Datei in das Printerfile zu bekommen (ohne dass jedesmal User und Passwort mutgegeben werden müssen)?

Vielen dank für Eure Hilfe,
Jörg

Fuerchau
08-11-13, 09:36
Dafür gibt es den CPY-Befehl.

Fuerchau
08-11-13, 09:37
PDF's bestehen aus PostScript-Informationen.
Wenn dein Drucker Postscript versteht kann er eben auch PDF's drucken.

JoergHamacher
08-11-13, 16:00
Hilfe, irgendwie kriege ich das nicht gebacken mit dem CPY-Befehl! Was muss ich denn da bei den Parametern mitgeben? Ich bekomme immer Fehlermeldungen wie z.B. "Objekt bereits vorhanden. Das Objekt ist /QSYS.Lib/JH.Lib/printfile.file" und wenn ich "Objekt ersetzen" angebe, kommt etwas wie "Die CCSID der Zieldatei konnte nicht mit der CCSID der Quellendatei abgeglichen werden". CCSID der PDF-Datei ist 819, CCSID der Printerfile-Datei ist 273. Wir arbeiten mit Release V6R1M0.

Danke im Voraus - und ein schönes Wochenende!
Jörg

Fuerchau
08-11-13, 18:28
Müsste mit From/TOCCSID *HEX und *ADD funktionieren.
Alternativ:

OVRDBF STDOUT TOFILE(PRINTFILE) OVRSCOPE(*JOB)
QSH CMD('CAT /Home/Pfad/MyPdf.pdf')

Fuerchau
08-11-13, 18:30
Ggf. auch mit CPYFRMSTMF.

Jenne
28-11-13, 09:56
Hallo Joerg,

wir haben das Problem mit dem IBM Lizenznprogramm "InfoPrintServer" auf der ISeries gelöst.
Funktioniert reibungslos.

Gruß
Jenne