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.








