PDA

View Full Version : PDF auf iSeries



PeterKarsten
01-12-06, 10:54
Liebe Gemeinde.
ich hab da mal eine Frage:
PDF-Erstellung auf der iSeries, ich lese hier von Tausend Lösungen, die den Spool abgreifen.
Was ich mir vorstellen würden, wäre allerdings etwas komplett anderes, und zwar, dass man das PDF quasi in einer Script-Sprache beschreibt. Auf Windows läuft beispielsweise Apache FOP so ab.
Gibt es sowas auch auf der iSeries?
Gruß und Danke
Peter

Fuerchau
01-12-06, 11:01
Mit Java hast du alles was du brauchst.

fb@bruegge.biz
03-12-06, 20:11
Hallo,

mit dem Produkt PDFlib (www.pdflib.de (http://www.pdflib.de)) lassen sich PDF Dateien erstellen. PDFlib ist ein SRVPGM auf der AS400 welches in ILE RPG, JAVA und C eingebunden werden kann.

stammero
19-08-08, 13:31
Hallo,

ich wäre an diesem Thema sehr interessiert. Habe mir die Seite von PDFlib auch mal angeschaut. Würde mir die kostenlose light Version genügen, wenn ja wie genau muss ich das auf der AS400 integrieren. Habe leider noch kein ILE Programm erstellt. Wäre super wenn ich einen Code bekommen könnte.

Gruß und Danke im Voraus
Stammero

fb@bruegge.biz
19-08-08, 14:21
Auf den Downloadseiten von PDFlib GmbH (http://www.pdflib.de) kann man sich das entsprechende Paket für die iSeries herunterladen. In der ZIP Datei ist eine kurze Anleitung zur Installation vorhanden. In der Bibliothek PDFLIB ist dann auch eine QRPGLESRC mit entsprechenden Beispielen.


H DEBUG(*YES) DFTACTGRP(*NO) BNDDIR('PDFLIB/PDFLIB')
H COPYRIGHT('(C) PDFlib GmbH, Muenchen, Germany (www.pdflib.com)' (http://www.pdflib.com)'))
************************************************** *******************************************
* Note: All strings passed into PDFlib are unicode strings with varying length.
* Use the %UCS2 build in function to convert a single byte string into a unicode string.
* All strings returned from PDFlib are unicode strings with varying length.
* Use the %CHAR build in function to convert a unicode string to a single byte string.
************************************************** *******************************************
d/copy QRPGLESRC,PDFLIB
************************************************** *******************************************
d p S *
d font s 10i 0
d error s 50
d filename s 256
d n s 1c varying inz(%ucs2(''))
************************************************** *******************************************
c clear error
*
* Init on PDFlib
c eval p=RPDF_new
c if p=*null
c eval error='Couldn''t create PDFlib object '+
c '(out of memory)Ü'
c exsr exit
c endif
*
* Open new pdf file
c if RPDF_begin_document(p:
c %ucs2('hello.pdf'):n) = -1
c exsr geterrmsg
c exsr exit
c endif
* Set info "Creator"
c callp RPDF_set_info(p:%ucs2('Creator'):
c %ucs2('hello.rpg'))
* Set info "Author"
c callp RPDF_set_info(p:%ucs2('Author'):
c %ucs2('Thomas Merz'))
* Set info "Title"
c callp RPDF_set_info(p:%ucs2('Title'):
c %ucs2('Hello, world (RPG)Ü'))
* Start a new page
c callp RPDF_begin_page_ext(p:a4_width:a4_height:n)
* Unicode Encoding
c eval font=RPDF_load_font(p:
c %ucs2('Helvetica-Bold'):
c %ucs2('unicode'):n)
*
c callp RPDF_setfont(p:font:24)
c callp RPDF_set_text_pos(p:50:700)
* Write unicode text constants
c callp RPDF_show(p:%ucs2('Hello worldÜ'))
*
c callp RPDF_continue_text(p:
c %ucs2('(says ILE RPG in unicode)'))
* Close page
c callp RPDF_end_page_ext(p:n)
* Close PDF document
c callp RPDF_end_document(p:n)
* Delete the PDF object
c callp RPDF_delete(p)
*
c exsr exit
************************************************** *******************************************
c geterrmsg begsr
c eval error=%char(RPDF_get_errmsg(p))
c endsr
************************************************** *******************************************
c exit begsr
c if error<>*blanks
c eval error='Error: '+error
c error dsply
c endif
c seton lr
c return
c endsr

stammero
19-08-08, 15:39
Danke, ich versuche mich mal einzuarbeiten.

KM
20-08-08, 08:23
Hallo,

schau mal den nachfolgenden Link an. Vielleicht wäre das ja auch eine Option für Dich. Ich hab's allerdings noch nicht ausprobiert.

How to make a PDF file with RPG (http://jplamontre.free.fr/AS400/PDF.htm)

Gruß,
KM

stammero
20-08-08, 11:57
Danke für den Tipp, aber das ist nicht ganz das was wir suchen. Wir benötigen eine Anwendung mit der wir IPDS Datenstrom möglichst ohne viel Schnick Schnack auf einen Laserdrucker bringen. Da wir auf der i5 den Druckspool pro Benutzer und Firmenstandort verteilen dabei auch mehrere Drucker ansprechen, muss das Ganze schon recht flexiebel sein. Ausserdem haben wir noch einige große Matrix Drucker, die auch bleiben sollen. Die alten 4230 ... würden wir gerne soweit möglich ablösen. IPDS Karten für die Laserdrucker (sind zwar teuer) wären eine Alternative. Vielleicht hat noch jemand eine Idee für unser Probelm.

Gruß Stammero

Fuerchau
20-08-08, 12:52
IPDS auf andere Laserdrucker geht mit Hostprinttransform und PSF/400 (leider).

Am einfachsten geht das mit AFPDS-Spools, die können ohne PSF/400 ausgegeben werden.
AFPDFS auf IPDS-Drucker ist wiederum PSF/400 erforderlich.

Meistens funktionierts problemlos, wenn man per OVRPRTF den Datenstrom auf *AFPDS umstellt, wenn amn an einen simplen LAN-Drucker (am besten PCL-kompatibel) ausgibt.