Company
Interactive Demos
  
  This demo allows the user to convert  LaTeX
  (pronounced "Lah-tek" or "Lej-tek") documents into a PNG-image. LaTeX goes back to
  Donald E. Knuth's
  TeX (pronounced "Tek"). LaTeX is very well suited for scientific and technical documents.
  LaTeX translates the input source text into the DVI-format (DeVice-Independent) -
  which is converted into the EPS-format Encapsulated PostScript) by means of the tool dvips (DVI-to-PostScript).
  Then, Ghostscript is used to convert the corresponding EPS-file into the
  PNG-format (Portable Network Graphics) which is fit for the world wide web.
  As alternative PDF and various other graphic formats are possible. Installed software: TexLive 2008 (scheme-full) and Ghostscript 8.63
  This demo is also available as an Adobe Flash-Applet.
Hint: Please use \usepackage[utf8]{inputenc} instead of encodings like \usepackage[latin1]{inputenc}, or disable explicitly the UTF-8 checkbox! New: File upload with optional PNG/JPG to EPS conversion!
   Alternativ kann diese Demo direkt über eine vereinfachte REST-Schnittstelle, die
   nur ein HTTP PUT
unterstützt, angesprochen werden.
 
 unterstützt, angesprochen werden.
    Wichtiger Hinweis: Diese Schnittstelle steht nur für nicht kommerzielle
    Zwecke zur Verfügung.
Bei kommerzieller Nutzung wenden Sie sich bitte an office@sciencesoft.at. Weiters bitten wir
Sie, uns auch bei nicht-kommerzieller Nutzung dieser Schnittstelle über obige E-Mail-Adresse
zu benachrichtigen, damit wir Sie bei Änderung der Schnittstelle gegebenfalls informieren zu können.
  Bei kommerzieller Nutzung wenden Sie sich bitte an office@sciencesoft.at. Weiters bitten wir
Sie, uns auch bei nicht-kommerzieller Nutzung dieser Schnittstelle über obige E-Mail-Adresse
zu benachrichtigen, damit wir Sie bei Änderung der Schnittstelle gegebenfalls informieren zu können.
XML Request
XML-Request wird im UTF-8 Format erwartet.
<?xml version="1.0" encoding="UTF-8"?>  
<latex ochem="false">
  <dev dpi="120">png16m</dev>
  <src><![CDATA[\documentclass[12pt]{article}
    \pagestyle{empty}
    \begin{document}
    Hallo World!
    \end{document}]]>
  </src>
  <embeddedData>false</embeddedData>
</latex>
URL
    http://sciencesoft.at/latex
Unterstützt nur HTTP PUT!
Unterstützt nur HTTP PUT!
latex
    Optionale XML-Attribute:
 
    
    
    utf8 legt fest ob die eingehenden Daten als UTF8 oder als Latin-1 interpretiert werden.
    Default-Wert: true.
    
  dev
    Dieses Element legt das Ausgabeformat fest und kann folgende Werte annehmen:
    
Das optinale XML-Attribut dpi legt die Auslösung im Bereich von 60 - 600 dpi fest. Default-Wert: 120 dpi
Im Kontext mit dem Wert pdfwrite ist das XML-Attribut papersize mit folgenden Werten zulässig:
HEX-Format zulässig.
  
    png16m|pngalpha|png256|png16|pngmono|pdfwrite|bmp16|bmp256|bmp16m|jpeg|
jpeggray|pnm|tiffgray|tiff12nc|tiff24nc|tiff32nc|tiffg3|tiffg4|psdrgb|swf
    Der Default-Wert für diesen Parameter ist png16m.jpeggray|pnm|tiffgray|tiff12nc|tiff24nc|tiff32nc|tiffg3|tiffg4|psdrgb|swf
Das optinale XML-Attribut dpi legt die Auslösung im Bereich von 60 - 600 dpi fest. Default-Wert: 120 dpi
Im Kontext mit dem Wert pdfwrite ist das XML-Attribut papersize mit folgenden Werten zulässig:
    a4|letter|legal|tabloid|a6|a5|a3|a1|a0|b6|b5|b4|b3
    
    Im Kontext mit dem Wert pngalpha ist
    das XML-Attribut bgcolor (=Hintergrundfarbe) im
    6-stelligen HEX-Format zulässig.
src
    Dieses Element beinhaltet den LaTeX Quelltext - maximale Länge 131072 Bytes
  
  embeddedData
    Dieses optionale Element legt mit dem Wert true fest,
    ob die Grafaikdaten base-64 kodiert
in die XML-Antwort eingebettet werden. Default-Wert: false
  in die XML-Antwort eingebettet werden. Default-Wert: false
XML Response
<?xml version="1.0" encoding="UTF-8"?> <RESTlatexResult> <success>?</success> <error>?</error> <embeddedData>?</embeddedData> <url>?</url> <data>?</data> <fileExt>?</fileExt> <size>?</size> <width>?</width> <height>?</height> </RESTlatexResult>
succces
    true kein Fehler, oder false im Falle
    eines Fehlers
  
  error
    Im Falle eines Fehlers beinhaltet dieses Element die Fehlermeldung.
  
  embeddedData
    Ist dieser Wert true,
    so wurden die Grafaikdaten base-64 kodiert über das Element data
    in die XML-Antwort
eingebettet. Ist der Wert hingegen false, so beinhaltet das Element url einen Link auf das Ergebnis.
  eingebettet. Ist der Wert hingegen false, so beinhaltet das Element url einen Link auf das Ergebnis.
url oder data
    Diese Elemente beinhalten das Ergebnis - siehe Element embeddedData
  
  size
    Größe der Grafikdaten in Bytes.
  
  fileExt
    Dateierweiterung der generierten Grafik.
  
  width & height
    Im Falle einer PNG oder JPG-Grafik beinhalten diese Elemente die Breite und die Höhe der Grafik in Punkten.
  
  Beispiel
  Dieses Beispiel erzeugt über die REST-Schnittstelle eine Grafik und speichert diese.
  Sie können dieses Beispiel inklusive aller notwenigen Libraries über folgenden
  Link herunterladen.
   
package at.sciencesoft.test;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
import sun.misc.BASE64Decoder;
import java.io.*;
/*
 * LaTeXRESTClient.java
 * LaTeX REST access example
 * Author: Peter Sauer (peter.sauer@sciencesoft.at)
 * Date of last modification: 2009-06-13
 * HTTPClient: http://hc.apache.org/httpclient-3.x/userguide.html
 */
public class LaTeXRESTClient {
    private static String url = "http://sciencesoft.at/latex";
    public static void writeByteStream(String fileName, byte[] stream) throws Exception {
        File file = new File(fileName);
        FileOutputStream writer = new FileOutputStream(file);
        writer.write(stream, 0, stream.length);
        writer.close();
    }
    public static char[] readCharStream(String fileName) throws Exception {
        File file = new File(fileName);
        FileReader reader = new FileReader(file);
        int fileLength = (int) file.length();
        char[] stream = new char[fileLength];
        reader.read(stream, 0, fileLength);
        reader.close();
        return stream;
    }
    public static void main(String[] args) throws Exception {
        String xml = new String(readCharStream(args[0]));
        // Prepare HTTP put
        PutMethod put = new PutMethod(url);
        // Request content will be retrieved directly
        // from the input stream
        put.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
        put.setRequestEntity(new StringRequestEntity(xml, null, "utf-8"));
        // Get HTTP client
        HttpClient httpclient = new HttpClient();
        // Execute request
        try {
            int result = httpclient.executeMethod(put);
            // Display status code
            System.out.println("Response status code: " + result);
            if (result == 200) {
                // fetching quick & dirty the binary data
                xml = put.getResponseBodyAsString();
                if (xml.indexOf("<success>true</success>") >= 0) {
                    int start = xml.indexOf("<data>");
                    int end = xml.indexOf("</data>");
                    if (start >= 0 && end >= 0) {
                        start += "<data>".length();
                        writeByteStream(args[1],
                          new BASE64Decoder().decodeBuffer(xml.substring(start, end)));
                    } else {
                        System.out.println(xml);
                    }
                } else {
                    System.out.println(xml);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // Release current connection to the connection pool once you are done
            put.releaseConnection();
        }
    }
}
Handling
- The Start LaTeX button converts the source text in the input field into a graphical representation.
 - The DPI(Dots Per Inch) input field indicates the resolution that is used to calculate the graphic representation (valid range: 60-600 DPI).
 - This checkbox UTF-8 sets the encoding of the LaTeX source file. UTF-8 vs. Latin-1
 - The Reset button clears the entire input field
 - Templates or examples can be copied into the input field via the Load button and the pull-down-menu.
 - The selection list Format enables the specification of the output format. In addition to the various image formats a PDF document can be produced with pdfwrite.
 







  This checkbox converts JPG/JPEG/PNG files automatically in the EPS format.
            
   
  
    
      
