Unternehmen
Interaktive Demos
Datei Upload
Dieser Menüpunkt erlaubt den Upload von bis bis zu 10 Dateien. z.B. Bilder, die in den LaTeX-Quelltexteingebunden werden. Die hochgeladenen Dateien dürfen in Summe maximal 2 MB groß sein.
Dieses Kontrollkästchen konvertiert JPG/JPEG/PNG-Dateien automatisch in das EPS-Format.
Keine Daten vorhanden!
Programm | user | kernel |
---|---|---|
LaTeX Quelltext kompilieren | ||
OCHEM-Perl/M4-Skript ausführen | ||
LaTeX 2. Durchgang | ||
dvips (.DVI in .EPS umwandeln) | ||
GhostScript (.EPS in .PNG umwandeln) | ||
PDF2SWF (.PDF in SWF umwandeln) | ||
ungefähre Gesamtzeit: ms |
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 können.
CGI-Parameter:
URL
oder mit einem optionalen Dateinamen
http://sciencesoft.at/image/latexurl/image.png?...
Der POST-Request wird im Format UTF-8 erwartet.
src
dev
jpeggray|pnm|tiffgray|tiff12nc|tiff24nc|tiff32nc|tiffg3|tiffg4|psdrgb|swf
der Parameter papersize mit folgenden Werten zulässig:
dpi
ochem
error
zurückgegeben.
result
zurückgegeben: Status-Code OK & URL auf die generiere Grapfik
http://sciencesoft.at/image/latexurl/latex.png?hash=2129519513&ext=png
This is pdfeTeXk, Version 3.141592-1.30.3-2.2 (Web2c 7.5.5) (format=latex 2006.1.3) 23 SEP 2008 07:18
...
urlencoding
eines GET-Requests ausgwertet:
utf8:
http://sciencesoft.at/image/latexurl/img.png?template=textutf8&src=Test:%20%C3%B6
latin1:
http://sciencesoft.at/image/latexurl/img.png?template=textutf8&urlencoding=latin1&src=Test:%20%F6
template
bestehende Vorlage eingefügt wird. Der Default-Wert für diesen Parameter ist inlinemath
\documentclass[12pt]{article} \pagestyle{empty} \begin{document}\\begin{math} ... \end{math}\\end{document}
\documentclass[12pt]{article} \pagestyle{empty} \begin{document} ... \end{document}
\documentclass[12pt]{article} \pagestyle{empty} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \begin{document} ... \end{document}
\documentclass[12pt]{article} \pagestyle{empty} \begin{document} \begin{displaymath} ... \end{displaymath} \end{document}
\documentclass[12pt]{article} \usepackage{amssymb,amsmath} \pagestyle{empty} \begin{document} \begin{displaymath} ... \end{displaymath} \end{document}
\documentclass{article} \pagestyle{empty} \usepackage{ochem} \begin{document} \begin{chemspecial} include(`utils.inc') include(`natur.inc') require("bicyclib") \end{chemspecial} \begin{chemistry} ... \end{chemistry} \end{document}
Beispiel
Dieses Beispiel generiert über die CGI-Schnittstelle eine PDF-Datei im Papierformat A4
mit
der Schrödingergleichung als Inhalt.
Sie können dieses Beispiel inklusive aller notwendigen Libraries über
folgenden
Link herunterladen.
/* * LaTeXClient.java - LaTeX CGI access example * Author: Peter Sauer (peter.sauer@sciencesoft.at) * Date of last modification: 2008-09-25 * HTTPClient: http://hc.apache.org/httpclient-3.x/userguide.html */ package at.sciencesoft.test; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import java.io.*; public class LaTeXClient { private static String url = "http://sciencesoft.at/image/latexurl"; private static String schroedinger = "\\documentclass[12pt]{article}\n" + "\\pagestyle{empty}\n" + "\\begin{document}\n"+ "\\begin{displaymath}\n" + "\\bf\n" + "\\int H(x,x')\\psi(x')dx' = -\\frac{\\hbar^2}{2m}\\frac{d^2}{dx^2}\n" + "\\psi(x)+V(x)\\psi(x)\n" + "\\end{displaymath}\n" + "\\end{document}\n"; public static void main(String[] args) throws Exception { // Prepare HTTP post PostMethod post = new PostMethod(url); // Request content will be retrieved directly from the input stream NameValuePair[] postdata = { new NameValuePair("src", schroedinger), new NameValuePair("dev", "pdfwrite"), new NameValuePair("papersize", "a4"), new NameValuePair("template", "no") }; // Set charset to UTF-8 post.setRequestHeader("Content-Type", PostMethod.FORM_URL_ENCODED_CONTENT_TYPE + ";charset=utf-8"); post.setRequestBody(postdata); // Get HTTP client HttpClient httpclient = new HttpClient(); // Execute request try { int result = httpclient.executeMethod(post); // Display status code System.out.println("Response status code: " + result); if (result == 200) { FileOutputStream test = new FileOutputStream("test.pdf"); test.write(post.getResponseBody()); test.close(); System.out.println("Success!"); } } finally { // Release current connection to the connection pool once you are done post.releaseConnection(); } } }
unterstützt, angesprochen werden.
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 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
Unterstützt nur HTTP PUT!
latex
dev
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:
HEX-Format zulässig.
src
embeddedData
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
error
embeddedData
eingebettet. Ist der Wert hingegen false, so beinhaltet das Element url einen Link auf das Ergebnis.
url oder data
size
fileExt
width & height
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(); } } }
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 können.
WDSL
SOAP-Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:def="http://DefaultNamespace"> <soapenv:Header/> <soapenv:Body> <def:compile> <def:source>?</def:source> <def:device>?</def:device> <def:deviceInfo>?</def:deviceInfo> <def:dpi>?</def:dpi> <def:utf8>?</def:utf8> <def:ochem>?</def:ochem> <def:embeddedData>?/def:embeddedData> </def:compile> </soapenv:Body> </soapenv:Envelope>
<def:source>
<def:device>
jpeggray|pnm|tiffgray|tiff12nc|tiff24nc|tiff32nc|tiffg3|tiffg4|psdrgb|swf
<def:deviceInfo>
Für device mit dem Wert pdfwrite sind folgenden Werte für deviceInfo zulässig:
<def:dpi>
<def:utf8>
<def:ochem>
OCHEM Unterstützung
<def:embeddedData>
eingebettet werden. false bewirkt, dass die SOAP-Antwort einen Link auf die erzeugte Grafik beihaltet.
SOAP-Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> <ns1:compileResponse xmlns:ns1="http://DefaultNamespace"> <ns1:out> <success xmlns="http://DefaultNamespace">?</success> <error xsi:nil="true" xmlns="http://DefaultNamespace">?</error> <embeddedData xmlns="http://DefaultNamespace">false</embeddedData> <width xmlns="http://DefaultNamespace">?</width> <height xmlns="http://DefaultNamespace">?</height> <size xmlns="http://DefaultNamespace">?</size> <fileExt xmlns="http://DefaultNamespace">?</fileExt> <data xsi:nil="true" xmlns="http://DefaultNamespace">?</data> <url xmlns="http://DefaultNamespace">?</url> </ns1:out> </ns1:compileResponse> </soap:Body> </soap:Envelope>
succces
error
embeddedData
eingebettet. Ist der Wert hingegen false, so beinhaltet das Element url einen Link auf die berechnete Grafik.
url oder data
size
fileExt
width & height
Beispiel
Dieses Beispiel erzeugt über die SOAP-Schnittstelle eine PDF-Datei und speichert diese.
Sie können dieses Beispiel inklusive aller notwenigen Libraries über folgenden
Link herunterladen.
/* * LaTeXSOPAClient.java - LaTeX SOAP access example * Author: Peter Sauer (peter.sauer@sciencesoft.at) * Date of last modification: 2008-11-07 */ package at.sciencesoft.test; import at.sciencesoft.soap.latex.*; import java.io.*; public class LaTeXSOAPClient { private static String schroedinger = "\\documentclass[12pt]{article}\n" + "\\pagestyle{empty}\n" + "\\begin{document}\n" + "\\begin{displaymath}\n" + "\\bf\n" + "\\int H(x,x')\\psi(x')dx' = -\\frac{\\hbar^2}{2m}\\frac{d^2}{dx^2}\n" + "\\psi(x)+V(x)\\psi(x)\n" + "\\end{displaymath}\n" + "\\end{document}\n"; 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 void main(String[] args) { try { Latex_Service serv = new Latex_Service(); Latex latex = serv.getLatexHttpPort(); SOAPlatexResult lr = latex.compile(schroedinger, "pdfwrite", "a4", 120, true,false, true); if (lr.isSuccess()) { System.out.println("Success!"); writeByteStream("test.pdf", lr.getData().getValue()); } else { System.out.println("Error:"); System.out.println(lr.getError().getValue()); } } catch (Exception e) { e.printStackTrace(); } } }
Grafik mit folgender Dimension:
x Punkte
Permanenter Link:
: dummy* SRC: dummy * Der optionale Parameter resize erlaubt es im Wertebereich von 20 bis 150 Prozent die Größe der Grafik zu steuern. resize=150 stellt die Grafik um 50% größer als das Original dar. Für Grafiken mit transparentem Hintergund steht das Ausgabe Format pngalpha zur Verfügung. Fehler: |
Bedienung
- Die Schaltfläche LaTeX starten wandelt den Quelltext im Eingabefeld in eine Grafik um.
- Das Eingabefeld DPI (Dots Per Inch) gibt an, mit welcher Auflösung die Grafik berechnet wird (gültiger Bereich: 60-600 DPI).
- Das Kontrollkästchen UTF-8 legt fest, ob der Quelltext als UTF-8 oder Latin-1 gepeichert wird.
- Die Schaltfläche Löschen löscht das komplette Eingabefeld.
- Über die Auswahlliste Vorlagen & Beispiele und die Schaltfläche laden können Vorlagen oder Beispiele in das Eingabefeld kopiert werden.
- Mit Hilfe der Auswahlliste Format kann das Ausgabeformat festgelegt werden. Zusätzlich zu den diversen Grafikformaten kann mit pdfwrite eine PDF-Datei erzeugt werden.