this post was submitted on 13 Jul 2023
7 points (100.0% liked)

de_EDV

3805 readers
1 users here now

Ableger von r/de_EDV auf Lemmy.

News, Diskussionen und Hilfestellung zu Hard- und Software

Diese Community dient als Anlaufstelle für alle IT-Interessierten, egal ob Profi oder blutiger Anfänger. Stellt eure Fragen und tauscht euch aus!

Weitere IT Communitys:

[email protected]

[email protected]

[email protected]

[email protected]

founded 2 years ago
MODERATORS
 

Hallo Freunde,

Ich möchte in irgendeiner UI (Web basiert) eine PDF aus einer PostgreSQL Datenbank erstellen. Ich will im Browser eine bestimmte Zeile einer tabelle auswählen können (also z.b. 12) und dann auf einen Knopf drücken "pdf erstellen" und in einem neuen Tab geht dann eine PDF auf mit den Infos aus der Tabelle. Die PDF besteht nicht nur aus Inhalten aus der Datenbank sondern auch aus fixen Informationen (also z.b. Text, Bildern).

Habt ihr da Ideen? Ich habe es schon über nodered versucht aber ich habe nicht genug Ahnung von JS/HTML um sowas zu machen. (Obwohl ich schon viel anderes in nodered realisiert habe aber mit dem Thema hab ich einfach garkeine ahnung)

top 12 comments
sorted by: hot top controversial new old
[–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (1 children)

Man sollte die angefragten Daten wahrscheinlich Recht einfach automatisiert in ein LaTeX Dokument einfügen können, was man dann zu einer PDF Datei kompilieren kann. Ohne programmiererfahrung wird das allerdings schon schwierig

[–] Lobotomie 1 points 1 year ago (1 children)

Wie könnte ich latex rein auf einem Server laufen lassen bzw. Die PDFs dann dem Nutzer zur Verfügung stellen?

[–] [email protected] 1 points 1 year ago

PDFlatex und auch die meisten anderen impelementationen funktionieren als reines Kommandozeilenprogramm. Heißt wenn eine Anfrage reinkommt wäre eine Möglichkeit:

  • Latex Vorlage kopieren
  • Benutzerdaten in kopie der Vorlage ersetzen (z.b. mit sed)
  • die Datei mit PDFlatex kompilieren
  • PDF Datei in irgendeiner Form (z.b. E-mail) dem Nutzer zukommen lassen
[–] [email protected] 2 points 1 year ago

Ich denke, dass es grundsätzlich möglich sein müsste, HTML in ein PDF zu "drucken". Weiß aber nicht auswendig, wie das geht. (ist lange her bei mir)

Andere Methode, die auf lange Sicht wesentlich "saubere" Ergebnisse liefert: Mit etwas Programmierung (JS) die Daten an den Server senden, dort via "pandoc" in ein PDF unwandeln, das PDF an den benutzer zurückschicken.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

Evtl. sowas https://n8n.io?

Das kann beliebige Datenquellen anzapfen, transformieren und entsprechend ausgeben. Das kann von Haus aus schon viel, alles andere kann man mit JavaScript (?) erweitern und man kann sogar einiges über eine Weboberfläche zusammenklicken.

Als kommerzielle soll das wohl ganz gut sein: https://monday.com/. ~~Dann gab es da glaube ich noch was von Apache welches man mit Python erweitern konnte, aber das finde ich gerade nicht mehr.~~ Ist es mir noch eingefallen: https://airflow.apache.org

[–] [email protected] 1 points 1 year ago

Extra spaßig könnte man es mit XSL/FO und XSLT lösen. Theoretisch müsste man dafür nicht Programmieren, aber ein XSLT erstellen, was eine Wissenschaft an sich ist. Dann das ganze via FOP auf Serverseite zu PDF rendern.

Ist aber der Hardcore Enterprise Ansatz und vermutlich nicht am einfachsten.

[–] [email protected] 1 points 1 year ago (1 children)

HTML erzeugen und drucken lol

[–] Lobotomie 1 points 1 year ago* (last edited 1 year ago)

Prinzipiell auch eine Lösung, kann ich sowas irgendwie mit nodered realisieren (dass ich quasi irgendwo ein Knopf habe und nodered die html in einem neuen Tab öffnet)?

[–] [email protected] 1 points 1 year ago

Schau mal ob du mit Cloudbeaver und einem PDF Drucker ans Ziel kommst. Das würde mir jetzt einfallen 🤔