Rendu de figures et de formules mathématiques LaTeX autonomes en Java
Rendez des équations mathématiques LaTeX, des formules chimiques et des figures structurelles autonomes directement dans des formats d’image haute fidélité (PNG, SVG, JPEG, BMP) ou des sorties vectorielles avec Aspose.TeX for Java. Convertissez des extraits de formules tels que \sum_{i=1}^{n} i = \frac{n(n+1)}{2} en images autonomes sans compiler des documents \documentclass{article} complets ni écrire de fichiers .tex temporaires sur le disque.
Aspose.TeX for Java fournit des moteurs de rendu dédiés (MathRenderer et FigureRenderer) conçus pour le rendu de micro-éléments d’expressions mathématiques et de blocs graphiques :
- Pour les applications, les écrans mobiles, les plateformes LMS (Canvas, Moodle) et le stockage dans des bases de données, choisissez le format de sortie PNG rendu avec la classe
PngMathRenderer. - Pour les écrans haute résolution (DPI), les pages web responsives, les éléments d’interface utilisateur évolutifs et les publications prêtes à l’impression, choisissez le format de sortie SVG rendu avec la classe
SvgMathRenderer. - Pour les graphiques LaTeX autonomes, les figures TikZ ou les blocs de tableaux rendus directement sous forme d’images, choisissez le format de sortie PNG rendu avec la classe
PngFigureRenderer. - Pour les figures et diagrammes vectoriels indépendants de la résolution, rendus directement à partir d’extraits LaTeX, choisissez le format de sortie SVG rendu avec la classe
SvgFigureRenderer.
Rendre une formule mathématique LaTeX en image PNG
Utilisez PngMathRenderer pour convertir des extraits de formules mathématiques LaTeX brutes en images PNG avec un arrière-plan transparent ou uni en quelques lignes de code.
import com.aspose.tex.*;
import com.aspose.tex.mathrenderer.*;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class RenderLaTeXFormulaToPng {
public static void main(String[] args) throws Exception {
// Step 1: Initialize PNG Math Renderer Options
PngMathRendererOptions options = new PngMathRendererOptions();
options.setResolution(300); // Set DPI resolution (300 DPI for high quality)
options.setTextColor(java.awt.Color.BLACK); // Formula text color
options.setBackgroundColor(java.awt.Color.WHITE); // Background color
options.setLogOutput(new OutputConsoleTerminal());
// Define LaTeX math snippet
String mathFormula = "\\int_{0}^{\\infty} e^{-x^2} dx = \\frac{\\sqrt{\\pi}}{2}";
// Define output stream for the generated PNG
OutputStream stream = new FileOutputStream("C:/TeXProject/Output/formula.png");
// Execute rendering job
PngMathRenderer renderer = new PngMathRenderer();
MathRendererResult result = renderer.render(mathFormula, stream, options, null);
stream.close();
System.out.println("LaTeX math formula rendered to PNG successfully.");
}
}Rendre une formule mathématique LaTeX en SVG vectoriel
Générez des graphiques vectoriels évolutifs (.svg) à partir d’expressions mathématiques LaTeX pour un rendu web responsive avec SvgMathRenderer.
import com.aspose.tex.*;
import com.aspose.tex.mathrenderer.*;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class RenderLaTeXFormulaToSvg {
public static void main(String[] args) throws Exception {
// Create SVG Renderer Options
SvgMathRendererOptions options = new SvgMathRendererOptions();
options.setTextColor(java.awt.Color.BLUE); // Custom formula color
// Define quadratic formula snippet
String mathFormula = "x = \\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a}";
// Stream output to SVG file
OutputStream stream = new FileOutputStream("C:/TeXProject/Output/quadratic.svg");
// Perform rendering
SvgMathRenderer renderer = new SvgMathRenderer();
renderer.render(mathFormula, stream, options, null);
stream.close();
System.out.println("LaTeX math formula rendered to SVG successfully.");
}
}Rendre des figures et des tableaux LaTeX autonomes
Rendez des blocs LaTeX isolés contenant des tableaux, des diagrammes ou des environnements spéciaux à l’aide de PngFigureRenderer.
import com.aspose.tex.*;
import com.aspose.tex.figurerenderer.*;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class RenderLaTeXFigureToPng {
public static void main(String[] args) throws Exception {
// Configure Figure Renderer Options
PngFigureRendererOptions options = new PngFigureRendererOptions();
options.setResolution(150);
// Create standalone figure or matrix snippet
String figureText = "\\begin{matrix} a & b \\\\ c & d \\end{matrix}";
// Render snippet directly to output image stream
OutputStream stream = new FileOutputStream("C:/TeXProject/Output/matrix.png");
PngFigureRenderer renderer = new PngFigureRenderer();
renderer.render(figureText, stream, options, null);
stream.close();
System.out.println("LaTeX matrix figure rendered to image successfully.");
}
}Installation et configuration
Intégrez Aspose.TeX for Java à votre projet à l’aide de Maven :
Package Manager Console Command
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-tex</artifactId>
<version>Latest</version>
</dependency>
Questions fréquentes
1. Que se passe-t-il si je ne spécifie pas de nom de tâche dans TeXOptions ?
Si aucun nom de tâche n’est explicitement configuré via setJobName(), Aspose.TeX utilise par défaut le nom du fichier d’entrée principal (par exemple, main.tex génère main.pdf et main.log).
2. Comment puis-je désactiver complètement la création du fichier de compilation .log ?
Définissez options.setLogOutput(false) avant de créer et d’exécuter TeXJob. Cela empêche le moteur de générer des fichiers journaux auxiliaires sur le disque ou dans le répertoire de travail de sortie.
3. Puis-je capturer les messages du terminal TeX dans des environnements serveur/sans interface graphique ?
Oui. L’affectation d’un OutputMemoryTerminal personnalisé ou l’implémentation de IOutputTerminal permet de rediriger tous les messages stdout/stderr du terminal vers le système de journalisation d’entreprise de votre serveur (par exemple, Log4j ou SLF4J).