PDA

View Full Version : PDF in OUTQ drucken? (von IFS)



Seiten : 1 [2] 3 4

KM
19-06-06, 12:52
Also die libnsl.a ist bei uns vorhanden. Die libqb.a kann ich auch auf unserer Maschine nicht finden.

Gruß,
KM

Sven Schneider
22-06-06, 21:09
In OUTQ's bzw. Spoolfiles können beliebige Datenströme abgelegt werden.
Wenn I5/OS diese nicht selbst handhaben kann, wie SCS, AFPDS, IPDS etc, sind diese vom TYP *USERASCII.
Host Print Transform (HPT) macht das so und erzeugt intern PCL oder PPDS als *USERASCII, wenn du über eine RMTOUTQ mit TRANSFORM(*YES) druckst.
Das gleiche passiert, wenn du über den Netserver (SMB-Server) eine OUTQ-Freigabe erzeugst und in diese z.B. mit einem PC druckst - der hier erzeugte Druckdatenstrom ist vom Druckertreiber auf dem PC abhängig und wird auf auf der I5 in der OUTQ vom Typ *USERASCII sein.
Der Infoprint-Server hat einen PDF-Konverter (intern IPDS-->PDF) und dieser stellt auch PDF-Datenstöme als *USERASCII in der OUTQ ab.

Dein prinzipieller Ansatz mit PASE und Rfile war schon richtig.
Die im Bsp. angegebene Postscript-Datei mydoc.ps kannst du durch eine PDF-Datei mit Pfadangaben ersetzen.
Den lpr kannst du dir schenken, wenn du bereits eine RMTOUTQ erstellt hast. Diese gibst du dann im OVRPRTF als Paramter OUTQ(...) mit an.

Write the contents of stream file mydoc.ps
to spooled printer device file QPRINT as unconverted ASCII data,
and then use the CL LPR command to send the spool file to another system:


before='ovrprtf qprint devtype(*userascii) spool(*yes)'
after="lpr file(qprint) system(usrchprt01) prtq('rchdps') transform(*no)"
cat -c mydoc.ps | Rfile -wbQ -c "$before" -C "$after" qprint

http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/rzahz/rfile.htm

Wichtig ist das der Netzwerkdrucker direkt PDF verarbeiten kann. Bei der PDF Erstellung ist darauf achtzugeben, das der Drucker die PDF Version unterstützt und die Schriften ggf. mit eingebettet sind.

KM
23-06-06, 08:07
Hallo,

falls es jemanden interessiert, hier eine Beschreibung wie ich das automatisierte Drucken von PDF-Dateien realisiert habe.

1. Ghostscript Version 8.53 von folgender Seite runterladen:

http://aixpdslib.seas.ucla.edu/packages/ghostscript.html

2. Zugehörige Fonts (Datei ghostscript-fonts-std-8.11.tar.gz) von folgender Seite runterladen:

http://prdownloads.sourceforge.net/ghostscript/

3. Beide Dateien im IFS unter /QOpenSys/ speichern und mit diesem Befehl unter PASE (call qp2term) entpacken:

tar -xf Dateiname

Damit ist Ghostscript installiert. Voraussetzung dafür ist natürlich, dass die PASE-Umgebung verfügbar ist (5722SS1 Option 33)

4. Umgebungsvariable GS_LIB setzen, damit die betreffenden Dateien gefunden werden:

ADDENVVAR ENVVAR(GS_LIB) VALUE('/QOpenSys/usr/local/bin:/QOpenSys/usr/local/share/ghostscript/8.53/lib:/QOpenSy
s/usr/local/share/ghostscript/8.53/Resource/fonts')

5. PDF-Datei in PCL-Datei konvertieren:

CALL QP2SHELL2 PARM('/QOpenSys/usr/local/bin/gs' '-dQUIET' '-dBATCH' '-dNOPAUSE' '-sDEVICE=ljet4' '-sOutputFile=/IFS-Pfad/PCL-Datei' '/IFS-Pfad/PDF-Datei')

6. PRTF vom Typ *USERASCII erstellen

7. PCL-Datei per Batch-FTP in PRTF kopieren.

Damit wird die Datei nun in die betreffende OUTQ gestellt und gedruckt.

Anmerkungen:
Ich hatte es zunächst auch so versucht, wie Sven es beschrieben hat. Der Rfile-Befehl hat zunächst auch funktioniert. Am nächsten Tag jedoch nicht mehr, obwohl keine Einstellungen geändert wurden. Es wurden dann nur noch kryptische Zeichen gedruckt. Ich weiß jedoch nicht warum. Deshalb habe ich auf FTP umgestellt. Damit ging's problemlos.
Der OVRPRTF in eine andere OUTQ hat nicht funktioniert, weder mit OVRSCOPE *ACTGRPDFN, noch mit *CALLLVL, noch mit *JOB. Deshalb mache ich temporär einen CHGPRTF (Ich weiß, das könnte einen Konflikt geben).

Jetzt könnt Ihr das Ganze noch in ein CL-Programm packen und dann habt Ihr eine Lösung zum Drucken von PDF-Dateien.

Viel Spaß damit,
KM

Sven Schneider
23-06-06, 08:47
Was passiert denn, wenn du die PDF-Datei per FTP im binary-Mode in die *USERASCII PRTF kopierst.

Sollte das nicht gehen, würde ich mal die Probleme am Drucker suchen.
Weil, wenn der Drucker PDF kann und es mit PCL oder PS funktioniert, sollte es an den Druckereinstellungen liegen. Oder der Drucker unterstützt die PDF-Version nicht.

Zusätzlich :
Auf deinem PC kannst du ja mal probieren, per DOS COPY die PDF-Datei direkt zum Drucker zu schicken.
Weil mehr macht LPR bzw. eine RMTOUTQ auch nicht, d.h. die Druckdaten 1:1 im binary-Mode an den Drucker zu senden.
Wenn das nicht geht, dann wird es auch auf der I5 mit der FTP oder Rfile-Methode nicht funktionieren.

KM
23-06-06, 09:46
Hallo Sven,

unsere Drucker sind nicht PDF-fähig, sondern können nur PCL5 oder PCL6. Deshalb mache ich ja den Aufwand mit Ghostscript. Die wenigsten Drucker können bis jetzt den PDF-Datenstrom interpretieren. Auch wenn es im Laufe der Zeit immer mehr werden, aber bisher haben wir keinen solchen Drucker. Wenn ich die PDF-Datei direkt in eine *USERASCII Druckerdatei übertrage, werden einfach nur die PDF-Statements gedruckt, die in dieser Datei stecken.

Gruß,
KM

Sven Schneider
23-06-06, 13:42
Dann ist der Aufwand mit Ghostscript gerechtfertigt.
Das geht aus deiner ursprünglichen Anfrage aber nicht hervor.

Trotzdem sollte die Methode, wie du den binären PCL bzw. PS-Datenstrom in eine *USERASCII Spooldatei bekommst egal sein.
Wichtig ist, das dies wirklich binär d.h. ohne Umsetzung passiert.

Robi
23-01-07, 13:58
HI,
wir machen es auch mit Ghostscript, können aber nicht in Farbe drucken.

KM, könnt ihr farbig drucken ?
Wenn Ja, was habt ihr 'speziell' dafür gemacht ?
Danke
Robi

KM
23-01-07, 14:31
Hallo Robi,

ja wir können farbig drucken. Wir hatten zwar damals auch zunächst Probleme damit. Aber jetzt geht es. Ich weiß nur nicht mehr genau woran es lag.

Wir benutzen dafür den Ghostscript-Treiber cljet5c und bei der OUTQ haben wir als WSCST den *HPCOLORLJ eingestellt. Ich glaube aber es lag an den Einstellungen des Druckers selbst. Was habt Ihr denn für einen Drucker ?

Gruß,
KM

Robi
07-02-07, 13:06
@KM
Wir haben verschiedene HP's und einen Xerox.
ich hab dieses Thema unseren JAVA Team gegeben und...
siehe da ... jetzt können wir auch farbig drucken.
Vielen Dank

Robi

Sven Schneider
07-02-07, 14:02
Hallo Robi,

ja wir können farbig drucken. Wir hatten zwar damals auch zunächst Probleme damit. Aber jetzt geht es. Ich weiß nur nicht mehr genau woran es lag.

Wir benutzen dafür den Ghostscript-Treiber cljet5c und bei der OUTQ haben wir als WSCST den *HPCOLORLJ eingestellt. Ich glaube aber es lag an den Einstellungen des Druckers selbst. Was habt Ihr denn für einen Drucker ?

Gruß,
KM

Noch ein Hinweis :

Die Angabe des WSCST-Objekts *HPCOLORLJ ( + TRANFORM(*YES) ) in der remote outq ist eigentlich überflüssig bzw. hat im konkreten Fall keine Auswirkung, da die Spooldatei ja bereits *USERASCII ist.
Es sei denn Ihr druckt auch noch andere Spooldateien (z.B. *SCS) über diese outq.