-
PDF in OUTQ drucken? (von IFS)
hallo!
ich suche eine möglichkeit pdf dateien die im ifs liegen in eine outq zu drucken (wenn möglich per cl oder rpg). ich habe auch schon per
Code:
CPYFRMPCD FROMFLR('AS400') TOFILE(*LIBL/QSYSPRT) FROMDOC(TEST.PDF) TOMBR(*FIRST) TRNTBL(*NONE) TRNFMT(*NOTEXT)
das ganze versucht. bekomme aber immer folgende fehlermeldung: "PC-Dokument TEST.PDF nicht kopiert." die datei und der Pfad stimmen ganz sicher!
gibt es noch andere möglichkeiten dies ohne fremdsoftware zu bewerkstelligen?
danke, mfg christoph
-
Die CPYFRMPCD/CPYFRMSTMF/CPYFRMIMPF akzeptieren nur Physische Dateien als Ziel !
Um PDF's zu drucken benötigst du einen PDF-Reader. Ob es diesen für Java/Linux gibt weiß ich nicht, aber irgendwer hat so was bestimmt.
PDF's können nicht direkt zum Drucker geschickt werden, da sie intern in Postscript gespeichert sind.
Zusätzlich gibt es noch PDF-spezifische Informationen:
- Version
- Verschlüsselung
- darf überhaupt gedruckt werden
- usw. usw.
-
Noch ein paar Fragen:
Kann der Drucker PDF drucken? (neuere Kopierstationen mit Netzwerkanbindung können das)
Sind die PDF's mehrseitig?
Releasestand? Ab V5R3 gibts "a bisserl" was..
Unter Linux: Dort ist Cups ja schon Standard. Cups bringt im Normalfall einen PDF-Filter mit. Auf einer Linux Maschine mit Cups, reicht ein lpr für den Ausdruck eines PDF-Dokumentes.
AS/400 -> Linux: Leider bringt Cups auch einen eigenen lpr-Befehl mit. lpr's von der AS/400 (bzw. auch Pase) funktionieren da nicht.
Abhilfe schafft die Java-OpenSource Jispsi. Für fertiges Commandline-Tool (PDF an Cups-Drucker drucken), einfach melden.
reine Javalösung:
Leider gibt es da am OpenSource-Markt noch nichts 100%iges. Man könnte das zwar über Umwege (JavaViewer und daraus wieder Bitmaps machen) realisieren, aber eigentlich bin ich mit meiner oben genannten Linux/Cups-Lösung ganz zufrieden.
"Leider" wollen/können wir nicht auf V5R3 wechseln. Dort könnte man via DDS (Keyword AFPRSC) zumindest einzelne PDF-Seiten konvertieren. Ein kleines Java-Util könnte das "Aufsplitten" übernehmen.
Robert P.
-
Hallo,
ich weiß nicht, ob das Thema noch aktuell ist. Ich habe jetzt auch nach langer Suche eine Möglichkeit gefunden, PDF-Dateien, die im IFS liegen per Programm (ohne manuellen Eingriff) über eine normale OUTQ zu drucken.
Dazu habe ich auf der iSeries in der PASE-Umgebung Ghostscript installiert. Damit kann man PDF-Dateien in den PCL-Datenstrom konvertieren. Und PCL versteht eigentlich fast jeder Drucker.
Anschließend wird diese PCL-Datei mit dem QSHELL-Befehl Rfile in eine OUTQ geschrieben und dort entsprechend ausgedruckt.
Das Ganze habe ich jetzt in ein CL-Programm verpackt und es läuft bislang ohne Probleme. Auch die Antwortzeiten sind super.
Gruß,
KM
-
Cool,
ein Workaround dazu - den man auch noch in nem Jahr finden/abrufen kann - wäre nett...
k.
-
Ich lebe zwar mit meiner Lösung ganz gut, aber etwas neugierig bin ich schon:
Welches Release hast du auf der iSeries?
Welches (AIX) Version von Ghostscript hast du installiert? oder compiliert?
Ich habe das auch mal versucht, allerdings haben mir da ein oder zwei Libs in der PASE-Umgebung gefehlt.
Woher hast du die? oder ist bei V5R3 mehr dabei?
Ich habe zwar auch eine AIX-PPC hier stehen, aber die Libs und compilierten Programme lassen sich meistens nicht in der PASE-Umgebung nutzen. Dürfte aber daran liegen das AIX-Release recht alt ist (V4Rx oder so).
Robert P.
-
Hallo Robert,
wir haben auf der iSeries V5R3 laufen. Ich habe Ghostscript Version 8.53 für AIX 5.3 installiert. Die betreffenden Binaries habe ich von folgender Seite runtergeladen:
http://aixpdslib.seas.ucla.edu/packa...ostscript.html
Was hat in Deiner PASE-Umgebung gefehlt ?
Heute habe ich festgestellt, dass seltsamerweise nicht mehr alles korrekt gedruckt wird, obwohl am Mittwoch alles noch richtig gedruckt wurde. Fehler erscheint keiner. Offenbar ein Druckertreiberproblem oder ein Problem mit der Schriftart. Ich verwende die DEVICE ljet4. Damit müsste man eigentlich auf den meisten Druckern drucken können. Muß jetzt erstmal schauen, wo das Problem liegt. Ist echt komisch.
Gruß,
KM
-
Zitat von kuempi von stein
Cool,
ein Workaround dazu - den man auch noch in nem Jahr finden/abrufen kann - wäre nett...
k.
Was ist damit gemeit?
-
Zitat von ratinger
Was ist damit gemeit?
Hello ratinger,
ich habe das Wort "workaround" gebraucht und meinte aber damit eine "Schritt für Schritt"-Anleitung bezogen auf den Beitrag von KM.
Laut Wikipedia ist ein workaround ja eher eine "provisorische Lösung", ich denke aber, dass im Softwarebereich jede Lösung die zufriedenstellend funktioniert eine sagen wir mal "gute" bzw. aktzeptable Lösung darstellt.
Und wenn man nun im Web irgendwo ne Seite hätte, da wo man in ein zwei Jahren mal nachschlagen kann (wenn man dann evtl. selber das Problem hat), das wäre doch toll?
kuempi
-
Zitat von KM
...
Was hat in Deiner PASE-Umgebung gefehlt?
Ich glaub es waren libnsl.a und libqb.a
(wobei libnsl.a für das cups-lpr wären).
Ich denke, dass sich das beim nächsten Release bzw. der nächsten Maschine erledigt.
Robert P.
-
Also die libnsl.a ist bei uns vorhanden. Die libqb.a kann ich auch auf unserer Maschine nicht finden.
Gruß,
KM
-
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:
Code:
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/infoce...zahz/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.
Similar Threads
-
By jgv in forum NEWSboard Drucker
Antworten: 1
Letzter Beitrag: 28-11-06, 10:15
-
By KM in forum NEWSboard Drucker
Antworten: 1
Letzter Beitrag: 20-09-06, 12:27
-
By linguin in forum IBM i Hauptforum
Antworten: 13
Letzter Beitrag: 17-05-06, 13:42
-
By miro in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 02-09-05, 14:09
-
By Pmartsch in forum NEWSboard Drucker
Antworten: 1
Letzter Beitrag: 29-07-04, 08:27
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks