Javascript aus Lazarus/Freepascal aufrufen.

Rund um die LCL und andere Komponenten
Antworten
kirchfritz
Beiträge: 270
Registriert: Mo 3. Jan 2011, 13:34
OS, Lazarus, FPC: Win11 (L 4.0 FPC 3.2.2)
CPU-Target: 64Bit
Wohnort: Nürnberg

Javascript aus Lazarus/Freepascal aufrufen.

Beitrag von kirchfritz »

Hallo,

ich habe heute im Internet die Javascript Bibliothek http://pdfmake.org entdeckt, mit der sich PDF-Dateien erstellen lassen.
Weil diese Aufgabe "PDF-Erstellung aus XML" mein Steckenpferd ist, wollte ich nun diese Möglichkeit erkunden.

Meine Idee ist mit Hilfe eines Freepascal-Programms:
a) aus XML via XSLT Javascript erstellen, so wie es die pdfmake-Beispiele (siehe pdfmake-play ground http://pdfmake.org/playground.html) zeigen.
b) Javascript mit Hilfe von https://github.com/BeRo1985/besen ausführen
c) Ergebnis ist PDF-Datei

Den Schritt a) "aus XML Javascript erstellen" traue ich mir selbst zu, aber ich habe keine Ahnung, wie ich das erstellte Javascript mit BESEN aufrufen kann, damit letztendlich ein PDF hinten rauskommt.

Kennt sich jemand mit BESEN aus und kann mir vielleicht weiterhelfen?

Bitte keine Diskussion beginnen, warum ich diesen Weg gewählt habe.

Vielen Dank schon mal im Voraus
Fritz Kirch

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Javascript aus Lazarus/Freepascal aufrufen.

Beitrag von knight »

Wenn du mit einem Lazarus-Programm PDF-Dateien erstellen willst, dann gibt es auch noch diese Möglichkeit: http://wiki.lazarus.freepascal.org/PowerPDF .

knight

kirchfritz
Beiträge: 270
Registriert: Mo 3. Jan 2011, 13:34
OS, Lazarus, FPC: Win11 (L 4.0 FPC 3.2.2)
CPU-Target: 64Bit
Wohnort: Nürnberg

Re: Javascript aus Lazarus/Freepascal aufrufen.

Beitrag von kirchfritz »

Bitte keine Diskussion beginnen, warum ich diesen Weg gewählt habe.
Ich kenne PowerPDF, ich kenne XSL-FO.
Wie ich schon geschrieben habe: Ich will den Weg via Javascript und BESEN erkunden.

wp_xyz
Beiträge: 5456
Registriert: Fr 8. Apr 2011, 09:01

Re: Javascript aus Lazarus/Freepascal aufrufen.

Beitrag von wp_xyz »

Ich kenne BESEN nicht, aber was ich auf der git-Seite gesehen habe, scheint es ein Shell-Interface zu haben. Daher würde ich BESEN einfach aus Lazarus als externes Programm starten (http://wiki.lazarus.freepascal.org/Exec ... rograms/de), dem die JavaScript-datei als Parameter mitgegeben wird.

Benutzeravatar
theo
Beiträge: 11344
Registriert: Mo 11. Sep 2006, 19:01

Re: Javascript aus Lazarus/Freepascal aufrufen.

Beitrag von theo »

Es gibt auch noch die Spidermonkey Bridge, die habe ich aber länger nicht mehr angeschaut.

http://delphi.mozdev.org/javascript_bridge/
https://code.google.com/p/delphi-javascript/

kirchfritz
Beiträge: 270
Registriert: Mo 3. Jan 2011, 13:34
OS, Lazarus, FPC: Win11 (L 4.0 FPC 3.2.2)
CPU-Target: 64Bit
Wohnort: Nürnberg

Re: Javascript aus Lazarus/Freepascal aufrufen.

Beitrag von kirchfritz »

@theo:
Javascript engine for delphi based on spidermonkey.
Delphi 2010 or later is required.
For accessing Indexed properties you will need Delphi XE2 or later. This is because Delphi XE2 add RTTI support for indexed properties

Ich wollte schon in Freepascal/Lazarus bleiben!

Benutzeravatar
theo
Beiträge: 11344
Registriert: Mo 11. Sep 2006, 19:01

Re: Javascript aus Lazarus/Freepascal aufrufen.

Beitrag von theo »

kirchfritz hat geschrieben: Ich wollte schon in Freepascal/Lazarus bleiben!
Ist doch die gleiche Sprache. Das könnte mit ein paar Anpassungen schon laufen mit FPC.

Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

Re: Javascript aus Lazarus/Freepascal aufrufen.

Beitrag von Komoluna »

oder sonst mit dem Delphi Kompatibilitätsmodus?

Code: Alles auswählen

{$mode delphi}
MFG

Komoluna
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

pluto
Lazarusforum e. V.
Beiträge: 7201
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Javascript aus Lazarus/Freepascal aufrufen.

Beitrag von pluto »

http://www.delphigl.com/forum/viewtopic ... ilit=BESEN

Habe ich schon mal ausprobiert vor einigen Zeiten. Klappt wunderbar.
MFG
Michael Springwald

Antworten