Java: tex -> pdf

Yersinia

Grünschnabel
Hi,
ich habe folgendes Problem.

Ich brauche eine Möglichkeit aus einer .tex Datei eine pdf Datei zu erzeugen. Unter Windows funktioniert das eigent. schon ganz gut, jedoch brauche ich eine Plattformunabhängige Lösung.

Windows Lösung:

Code:
        try {
            Runtime rt = Runtime.getRuntime();
            Process proc = rt.exec("cmd /c start pdflatex -output-directory=\""+desktop+"\""+" \""+template+"\"");
            int exitVal = proc.waitFor();
            System.out.println("Process exitValue: " + exitVal);
        } catch (Throwable t) {
            t.printStackTrace();
        }

Lg
 
Also ich würde wenn es sowas gibt eine PDF-Lib für Java verwenden. Ich weis aber nicht ob es reine Java-Implementierungen gibt oder nur welche mit C-Lib's ... müsste man mal googlen
 
Hi,
vielen Dank für die schnelle Antwort.
Hättest du irgendwelche Links für mich?
Für Java hab ich schon sehr oft gegooglet aber leider überhaupt nichts gefunden.
Wir würde ich denn eine C-Lib in Java verwenden?

Lg
 
Hi.

Es gibt keine Latex-PDF Bibliothek. Latex ist doch ein relativ komplexes System welches nicht aus einem einzelnen Programm / Datei besteht.

Verwende doch einfach den ProzessBuilder und verzichte auf den Aufruf von cmd - das brauchst du doch gar nicht.

Gruß
 
Also Google liefert bei dem hier "java pdf lib" gleich als ersten Eintrag die Seite http://itextpdf.com
Ich habs mir nicht genau angesehen aber es ist eine Lib die es für Java und C# gibt. Die Java-Lib sieht mir nach einer reinen Java-Implementierung aus ... also Plattformunabhängig.
Damit solltest du dich vielleicht mal näher beschäftigen.
 
Hi.

Hab leider mit dem ProzessBuilder noch nie gearbeitet. Wie würde denn der Aufruf aussehen?
In etwa so?

Code:
 try
        {
            ProcessBuilder texBuilder = new ProcessBuilder("pdflatex", url);
            Process p = texBuilder.start();
            System.out.println("latex wird kompiliert");
            p.waitFor();
        }
        catch (InterruptedException ex)
        {
            System.out.println(ex.toString());
        }
        System.out.println("Fertig");

Edit:
Danke an SPiKEe. Ich werde es mir mal näher anschauen.

Lg
 
Also Google liefert bei dem hier "java pdf lib" gleich als ersten Eintrag die Seite http://itextpdf.com
Ich habs mir nicht genau angesehen aber es ist eine Lib die es für Java und C# gibt. Die Java-Lib sieht mir nach einer reinen Java-Implementierung aus ... also Plattformunabhängig.
Damit solltest du dich vielleicht mal näher beschäftigen.
Was soll das bringen? Du weißt offenbar nicht was Tex/Latex ist?

Gruß
 
Das ist vollkommen richtig =) aber aufklären lass ich mich immer gerne.
 
iText scheint eine Lib zu sein, mit der ich PDF erzeugen kann. Leider muss der Latex Code ja kompiliert werden. Daher wird es wahrscheinlich keinen anderen Weg geben, also extern pdflatex aufzurufen, da sonst die ganzen Tex Packete in Java implementiert werden müssten.
Also werd ich mal bei meinem Ansatz des Prozess Builders weitergucken! Bin für jede Hilfe dankbar ;)

Lg
 

Neue Beiträge

Zurück