PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Latex remote ansteuern



f.o.g.
31-05-2011, 13:49
Hallo ich hätte mal eine recht spezielle Frage zu Latex. Ist es irgendwie möglich auf einem Windows 2008 Server bzw. einem Linuxserver Latex remote zu betreiben?
Hintergrund ist folgender:
Aus einer Datenbank sollen auf Knopfdruck Berichte erstellt werden. Jetzt soll aber nicht jeder PC eine Latexinstallation erhalten. Ich stell mir das ganze also so vor, dass anhand der Datenbank ein Texfile erzeugt und auf einen Server abgelegt wird. Dann stößt man Latex an und es kompiliert den Text in eine PDF, die dann z.B. auf dem Server gespeichert wird. Wäre so etwas möglich?
Um es nochmal deutlich zu sagen, ich möchte, dass das System bei mir auf meinem Server und nicht in der Cloud läuft.

strolch
31-05-2011, 14:24
mehr infos bitte!
- welches db-system?
- was heißt auf knopfdruck? also wie und von wem soll der prozess gestartet werden?

grundsaetzlich ist natuerlich vieles moeglich und in diesem fall gibt es sicher einige wege zum zile.

wenn ich dich richtig verstanden habe hast du x-clients an denen deine benutzer sitzen und was auch immer in der db machen. auf jeden fall sollen sie die moeglichkeit haben ihre ergebnisse als pdf zu bekommen ...

also muss die gewuenscht inforamtion aus der db erstmal in eine latex kompatibles format gebracht werden. (da ist das problem welche DB, wie soll der prozess angestoßen werden und wer erzeigt wie die tex-datei) anschließend muss die erzeugte tex.-datei auf dem server geschoben werden. dort wuerde sich ein spezielles verzeichnis anbieten und ein cron-job, der regelmaessig einfach pdflatex auf alle dateien in diesem verzeichnis anwendet. anschließend noch ein skript zum zurueck kopieren der erzugten pdf und zum aufraeumen bzw. ggf. noch eine kopie zum loggen was erzeugt wurde in ein weiteres verzeichnis verschieben ...

f.o.g.
31-05-2011, 14:36
Danke für die schnelle Reaktion

Also verwendet wird ein mssql server.
Aber das dürfte an der Stelle eine untergeordnete Rolle spielen. Der Client wird mit C++ Qt programmiert. Er übernimmt die Aufgabe ein File anhand der DB Infos zu erstellen. Das Kopieren dieser Datei auf den Server übernimmt er ebenfalls.
Der Ablauf wäre dann wie folgt:
Nutzer klickt Button im Client um Bericht zu erstellen --> Client fragt DB ab --> Tex File wird vom Client angelegt und auf den Server kopiert --> Tex File muss kompiliert werden --> PDF wird in ein Serververzeichnis kopiert --> Tex File wird zur Sicherheit gelöscht.

Nach dem Initiieren des Prozesses muss die PDF-Datei schnellstmöglich Verfügbar sein.

Ich hatte mir jetzt überlegt, eine Serveranwendung mit Qt zu bauen, die das Initiieren übernehmen könnte.
Ich weiß im Moment halt nicht, ob ich einen Linuxserver oder einen M$ 2008 Server nehmen kann. Das muss dann die IT entscheiden.

bobmalaria
31-05-2011, 14:47
hi,

ich denke du kannst auf dem server entweder miktex oder texlive installieren. du musst a nur auf dem server pdflatex datei-xy.tex ausfuehren und dann datei-xy.pdf zim client kopieren. die dauer duerfte vom aufwand des berichtes bestimmt werden (grafiken? etc)

strolch
31-05-2011, 14:53
ok, das da ein mysql drunter haengt spielt wirklich keine rolle.

aber wenn du den client selbst programmierst hast du es absolut in der hand was du machst und kannst dir aus den daten nen schoenes tex-file machen usw. ;-)

der ablauf ist somit klar. waere natuerlich guenstig, wenn du nen linux server hast, dann laesst sich der rest mit nem skript, das du nach dem kopieren der tex-quelle aufrufst oder eben mit nen cronjob recht einfach machen.

fuer weiteres sind wir hier aber im falschen forum ;-)
viel erfolg

f.o.g.
31-05-2011, 14:53
@bobmalaria: ja schon klar, die Frage ist aber wie initiiere ich das am besten?

Dann bleibt es wohl an mir mich um die Kommunikation zu kümmern. Hatte gehofft es gibt bereits eine fertige Lösung dafür.

Syralist
31-05-2011, 19:29
Mit Qt kannst du auch direkt PDFs erzeugen. Das ist vielleicht nicht ganz so schick wie mit LaTeX aber wahrscheinlich weniger aufwendig.