Anmelden

View Full Version : Text Datei in PDF



svit
22-08-13, 17:01
Hallo *all,

gibt es die Möglichkeit eine TXT-Datei unter RPGLE in PDF zu konvertieren?

signoff

Fuerchau
22-08-13, 17:09
Nun ja, mit Bordmitteln benötigst du das PSF/400 und einen Drucker, der als PDF-Drucker generiert ist.
Dann kannst du per
CPYFRMSTMF die .TXT-Datei in eine PF-Kopieren.
Per "CPYF FROMFILE(MYFILE) TOFILE(QPRINT)" gibst du die PF an den Spool.
Ggf. ist noch per OVRPRTF vorher das Layout der Seite festzulegen.

svit
22-08-13, 17:13
Danke,

gibt es eventuell API dazu?

camouflage
22-08-13, 17:21
Na ja, wenn du schon einen Overwrite machst, kannst du ab V6.1 auch diesen machen:

OVRPRTF FILE(MYPRTF) DEVTYPE(*AFPDS) TOSTMF('/myapp/mypdfs') WSCST(*PDF)

geht vermutlich noch einfacher...

svit
22-08-13, 17:29
ich habe ganz einfache Textdatei(Log-Datei).
Diese Datei muss in PDF und auf IFS abgelegt werden.
also einen OVRPRTF brauche ich nicht.

Fuerchau
22-08-13, 17:51
Doch!
Du kannst auf der AS/400 eine PDF nur über den Spooler erstellen, der auf einen PDF-Writer (PSF/400) ausgibt und somit die PDF dann erstellt.

Wenn du nun also im IFS eine TXT-Datei hast, musst du diese in eine PRTF ausgeben die per OVRPRTF eben in die PDF-Ausgabe gezwungen wird.

Nun kannst du per C-API-Programmierung auf IFS-Objekte zugreifen um die TXT zu lesen und in eine PRTF (QSYSPRT gibts immer) ausgeben.

Per CPYFRMSTMF kann man aber in ein PF kopieren und per CPYF eine PF auch in eine PRTF ausgeben.

Für die Automatisierung benötigst du dann nur noch CLP.

Irgendwo gabs auch mal einen Hinweis auf die QSH (QShell), wo man mittels einfachem "print"-Befehl auch eine PDF erstellen kann.
Ggf. gibts ja auch Tools für die PASE-Umgebung (ist kostenos installierbar).

Nachtrag:
http://www-01.ibm.com/support/docview.wss?uid=nas8N1018568
Da steht alles für die Voraussetzungen.

svit
23-08-13, 11:12
wie installiert man die Option 1 von 5770TS1?

TARASIK
23-08-13, 11:35
Hallo Svit,
mit rstlicpgm.

Install Media for Transform Services

6.1 Transform Services (product 5761TS1) is available on the B29xx_02 disc, and 7.1 Transform Services (product 5770TS1) is available on the B_GROUPx_04 disc.

B.Hauser
23-08-13, 12:03
Schau Dir mal den folgenden Artikel von Scott Klement an, m.E. ist das genau das was Du suchst. Du musst lediglich in der Override den PDF-Ausgabe-Parameter setzen.

How Do I Print a PDF File in the IFS? (http://iprodeveloper.com/rpg-programming/how-do-i-print-pdf-file-ifs)

Birgitta

Fuerchau
23-08-13, 13:33
@Birgitta
Falsche Antwort zu diesem Thread.
Es ging darum eine TXT in eine PDF umzuwandeln und nicht eine PDF zu drucken.

Mit Bordmitteln gehts sogar noch einfacher, z.B.:

OVRDBF FILE(STDOUT) TOFILE(QSYSPRT) OVRSCOPE(*JOB)
OVRPRTF FILE(QSYSPRT) SPLFNAME(TESTQSH) OVRSCOPE(*JOB)
QSH CMD('cat /Home/Fuerchau/Java/AccountInfo/fromurl.properties')

Und schon habe ich den gewünschten Spool.
Wird der OVRPRTF nun noch mit den PDF-Angaben ergänzt erhalte ich eben eine PDF.

Keine API's, simple Kommandos.

Nachtrag:
Mit "cat -c Datei" wird eine Binärausgabe gemacht.
Somit kann ich nach obiger Methode und entsprechendem OVRPRTF auch PDF's an den Spool senden.
Ein Programm wird definitiv nicht benötigt.