pdf erstellen aus linux backend (console)

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
irq
Beiträge: 25
Registriert: Mi 3. Jul 2013, 02:32
OS, Lazarus, FPC: Linux (L 0.9.30 FPC 2.6.0)
CPU-Target: 32Bit, 64Bit

pdf erstellen aus linux backend (console)

Beitrag von irq »

hi,

ich arbeite an einer linux backendanwendung, die programmatisch ein pdf erstellen soll.
ich möchte möglichst wenig "material" einbinden, um das zu erledigen. also keine riesen pkgs mit visuellem schnickschnack.
gibts da was, was ich bisher noch nicht gefunden habe?
btw, powerpdf hab ich schon gesehen.

danke im voraus
viele grüße
-- irq

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

Re: pdf erstellen aus linux backend (console)

Beitrag von theo »

Wenn du sowieso nur auf Linux Console bist, würde ich ein Linux Tool verwenden.
Ein HTML schreiben und umwandeln lassen über TProcess, z.B. mit

Code: Alles auswählen

 htmldoc --no-toc --no-title test.html --outfile test.pdf
Wenn du die LCL verwenden willst, kannst du auch einfach drucken mit "Printer" und als Drucker "CUPS-PDF" auswählen (Ggf. zuerst installieren)

irq
Beiträge: 25
Registriert: Mi 3. Jul 2013, 02:32
OS, Lazarus, FPC: Linux (L 0.9.30 FPC 2.6.0)
CPU-Target: 32Bit, 64Bit

Re: pdf erstellen aus linux backend (console)

Beitrag von irq »

hi theo

ja das ist natürlich immer eine lösung. ich dachte einfach, vlt. gibts was eleganteres, das bereits in fp vorliegt.
ndt, danke für deine antwort.
viele grüße
-- irq

df.id
Beiträge: 20
Registriert: Fr 23. Mai 2008, 00:29
OS, Lazarus, FPC: Windows|Linux (L 3.8.0 FPC 3.2.2)
CPU-Target: Intel
Wohnort: Münster
Kontaktdaten:

Re: pdf erstellen aus linux backend (console)

Beitrag von df.id »

Eine Option, direkt aus Free Pascal PDF zu erstellen ist "Free-JPDF-Pascal".

https://github.com/jepafi/Free-JPDF-Pascal

Für einen Backend Webservice, der ein PDF liefern soll, kann man hiermit ohne temporäre Dateien und externe Prozesse im Speicher ein PDF erzeugen.

Beispiel:

Code: Alles auswählen

 
 PDF:=TJPFpdf.Create(poLandscape, puMM, pfA5);
 PDF.SetTitle('Beispiel');
 PDF.AddPage;
 PDF.SetFont(ffHelvetica,fsBold,16);
 PDF.SetDrawColor(cRed);
 PDF.SetLineWidth(0.3);
 PDF.SetFillColor(cYellow);
 PDF.Cell(0, 10, 'HELLO WORLD','LTBR',0,'C',1);
 Result:=PDF.SaveToString;
 PDF.Free;
 
Für hochwertige PDF-Dokumente und Trennung von Design und Daten kommt ansonsten noch Apache FOP (http://xmlgraphics.apache.org/fop/) in Frage: Einfach ein xml mit den Daten erstellen und FOP aufrufen (am schnellsten mit JNI statt TProcess).

irq
Beiträge: 25
Registriert: Mi 3. Jul 2013, 02:32
OS, Lazarus, FPC: Linux (L 0.9.30 FPC 2.6.0)
CPU-Target: 32Bit, 64Bit

Re: pdf erstellen aus linux backend (console)

Beitrag von irq »

hi df.id

das sieht sehr gut aus.
vielen dank für die info.
werds testen und sehen, obs für meine anforderungen ausreicht.
viele grüße
-- irq

Antworten