عرض أشكال LaTeX والصيغ الرياضية المستقلة في Java
اعرض معادلات LaTeX الرياضية والصيغ الكيميائية والأشكال الهيكلية المستقلة مباشرةً إلى تنسيقات صور عالية الدقة (PNG، SVG، JPEG، BMP) أو مخرجات متجهية باستخدام Aspose.TeX for Java. حوّل صيغًا مختصرة مثل \sum_{i=1}^{n} i = \frac{n(n+1)}{2} إلى صور مستقلة دون تجميع مستندات \documentclass{article} كاملة أو كتابة ملفات .tex مؤقتة على القرص.
يوفر Aspose.TeX for Java محركات عرض مخصصة (MathRenderer وFigureRenderer) مصممة خصيصًا للعرض المصغر للتعبيرات الرياضية والكتل الرسومية:
- للتطبيقات وشاشات الأجهزة المحمولة ومنصات LMS (Canvas، Moodle) وتخزين قواعد البيانات، اختر تنسيق PNG كمخرج، والذي يتم عرضه باستخدام الفئة
PngMathRenderer. - للشاشات عالية الكثافة النقطية (DPI)، وصفحات الويب المتجاوبة، وعناصر واجهة المستخدم القابلة للتوسّع، والنشر الجاهز للطباعة، اختر تنسيق SVG كمخرج، والذي يتم عرضه باستخدام الفئة
SvgMathRenderer. - للرسومات المستقلة بتنسيق LaTeX، وأشكال TikZ، والكتل الجدولية التي يتم عرضها مباشرةً كصور، اختر تنسيق PNG كمخرج، والذي يتم عرضه باستخدام الفئة
PngFigureRenderer. - للأشكال والمخططات المتجهية المستقلة عن الدقة والتي يتم عرضها مباشرةً من مقتطفات LaTeX، اختر تنسيق SVG كمخرج، والذي يتم عرضه باستخدام الفئة
SvgFigureRenderer.
عرض صيغة LaTeX الرياضية كصورة PNG
استخدم PngMathRenderer لتحويل مقتطفات LaTeX الرياضية الخام إلى صور PNG بخلفية شفافة أو بلون ثابت باستخدام بضعة أسطر من التعليمات البرمجية.
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.");
}
}عرض صيغة LaTeX الرياضية كمتجه SVG
أنشئ رسومات متجهية قابلة للتوسّع (.svg) من التعبيرات الرياضية في LaTeX لعرضها بشكل متجاوب على الويب باستخدام 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.");
}
}عرض أشكال وجداول LaTeX المستقلة
اعرض كتل LaTeX المعزولة التي تحتوي على جداول أو مخططات أو بيئات خاصة باستخدام 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.");
}
}التثبيت والإعداد
ادمج Aspose.TeX for Java في مشروعك باستخدام 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>
الأسئلة الشائعة
1. ماذا يحدث إذا لم أحدد اسم مهمة في TeXOptions؟
إذا لم يتم تكوين اسم مهمة بشكل صريح عبر setJobName()، فسيستخدم Aspose.TeX اسم ملف الإدخال الرئيسي افتراضيًا (على سبيل المثال، ينتج عن main.tex الملفات main.pdf وmain.log).
2. كيف يمكنني تعطيل إنشاء ملف التجميع .log بالكامل؟
عيّن options.setLogOutput(false) قبل إنشاء وتشغيل TeXJob. ويمنع ذلك المحرك من إنشاء ملفات السجل المساعدة على القرص أو في دليل عمل الإخراج.
3. هل يمكنني التقاط رسائل طرفية TeX في بيئات الخادم/بدون واجهة رسومية؟
نعم. يتيح تعيين OutputMemoryTerminal مخصص أو تنفيذ IOutputTerminal توجيه جميع رسائل stdout/stderr الطرفية إلى نظام تسجيل المؤسسات الخاص بالخادم (مثل Log4j أو SLF4J).