1. المنتجات
  2.   Aspose.TeX
  3.   Aspose.TeX FOSS for Python

Aspose.TeX FOSS لـ Python

مكتبة Python مجانية مرخصة تحت MIT لإنتاج مخرجات PDF و DVI و SVG من ترميز TeX. لا يلزم وجود بيئة تشغيل LaTeX.

Aspose.TeX FOSS — محرك TeX Python مفتوح المصدر

Aspose.TeX FOSS for Python (aspose-tex) هو محرك تنضيد TeX مجاني، مرخص برخصة MIT للمطوّرين Python. يولد PDF, DVI أو إخراج SVG — لا حاجة لتثبيت LaTeX أو وقت تشغيل خارجي.

تُظهر المكتبة ثلاثة أجهزة إخراج: PdfDevice لإخراج PDF، DviDevice لـ إخراج DVI، وSvgDevice لإخراج SVG متعدد الصفحات. الفئة TeXJob هي الرئيسية. نقطة الدخول؛ تقبل FileInputSource أو StringInputSource وجهاز إخراج، ثم يشغّل محرك التنضيد عندما يتم استدعاء .run() هو.

Aspose.TeX FOSS لـ Python تم إصداره تحت رخصة MIT. يعمل في Python 3.10+ البيئات على جميع أنظمة التشغيل الرئيسية بما في ذلك Linux و macOS و Windows. تثبيت مع pip install aspose-tex>=26.5. لا يلزم وجود اعتماد Ghostscript أو TeX Live. للمنتج المؤسسي، راجع Aspose.TeX for Python — Enterprise Product.

مخرجات PDF و DVI

  • PdfDevice يَغْلِف PdfWriter لإنتاج بايتات إخراج PDF 1.4
  • DviDevice يَغْلِف DviWriter لإخراج DVI
  • TeXJob.run() يُرجِع bytes أو يكتب إلى Path أو BytesIO
  • معالجة في الذاكرة — لا يلزم ملفات مؤقتة

حالات الاستخدام

  • تنسيق المعادلات الرياضية والوثائق التقنية إلى PDF
  • إنشاء مخرجات جاهزة للطباعة من مصدر TeX
  • تحويل دفعي لملفات TeX في خطوط أنابيب CI/CD
  • إنشاء DVI لأدوات المعالجة اللاحقة

مخرجات SVG

  • SvgDevice يَغْلِف SvgWriter لإخراج SVG 1.1 متعدد الصفحات
  • get_bytes() تُعيد بايتات SVG للمستندات ذات الصفحة الواحدة
  • get_all_pages() تُرجع قائمة من البايتات للمستندات متعددة الصفحات
  • إخراج متجه نظيف للاستخدام على الويب والعرض

حالات الاستخدام

  • عرض معادلات TeX كـ SVG مضمن للصفحات الويب
  • تصدير الأشكال المنسقة إلى تنسيق متجه قابل للتوسيع
  • إنشاء مخططات وصياغة رياضية
  • تقديم مخرجات SVG من واجهات برمجة التطبيقات والخدمات الويب

مصادر إدخال مرنة

  • StringInputSource — قدّم ترميز TeX كسلسلة Python
  • FileInputSource — قراءة مصدر TeX من مسار ملف على القرص
  • InputReader — بروتوكول أساسي لتطبيقات الإدخال المخصصة
  • TeXOptions.load_format — تحميل مسبق لتنسيق التحكم

حالات الاستخدام

  • معالجة ترميز TeX المُولَّد ديناميكياً في الذاكرة
  • تحويل ملفات TeX من القرص في سير عمل دفعي
  • دمج عرض TeX في تطبيقات الويب
  • معالجة Chain TeX مع خطوط أنابيب البيانات الأخرى

إدارة الخطوط

  • FontManager يوفر الوصول إلى مقاييس الخط TFM
  • FontEncoding يربط رموز أحرف TeX بأسماء رموز PostScript
  • FontMetrics يكشف عن مقاييس العرض والارتفاع والعمق لكل حرف
  • TeXOptions.extra_font_paths — توسيع مسار البحث عن الخط

حالات الاستخدام

  • استخدام خطوط TFM مخصصة في مهام التنضيد
  • الوصول إلى بيانات مقاييس الأحرف برمجيًا
  • تصحيح حل الخطوط ومشكلات الترميز
  • قم بتمديد المحرك بإضافة دلائل خطوط إضافية

معالجة TeX إلى PDF

قم بالتثبيت باستخدام pip install aspose-tex>=26.5، ثم قم بتنسيق سلسلة TeX للحصول على بايتات PDF:

from aspose_tex import StringInputSource, PdfDevice, TeXJob, TeXOptions
opts = TeXOptions(load_format=False)
result = TeXJob(
    StringInputSource(r"Hello -- done"),
    PdfDevice(),
    options=opts,
).run()
# result is bytes containing a valid PDF

معالجة ملف TeX إلى SVG

قراءة مصدر TeX من ملف وتصدير كل صفحة كـ SVG:

from aspose_tex import FileInputSource, SvgDevice, TeXJob, TeXOptions
opts = TeXOptions(load_format=False)
device = SvgDevice()
TeXJob(FileInputSource("input.tex"), device, options=opts).run()
pages = device.get_all_pages()  # list[bytes] of SVG per page

تصدير TeX إلى DVI

استخدم DviDevice لإنتاج مخرجات DVI:

from aspose_tex import StringInputSource, DviDevice, TeXJob, TeXOptions
opts = TeXOptions(load_format=False)
result = TeXJob(
    StringInputSource(r"\hbox{Test}-- done"),
    DviDevice(),
    options=opts,
).run()
# result is bytes containing DVI data

الأسئلة الشائعة

ما هو نموذج الترخيص؟

Aspose.TeX FOSS لـ Python منشور تحت رخصة MIT. يُسمح بالاستخدام التجاري دون رسوم أو قيود.

هل هناك أي تبعيات أصلية؟

لا. إنها حزمة Python صافية لا تتطلب تثبيت LaTeX أو بيئة تشغيل Perl أو توزيع TeX خارجي.

ما هي صيغ الإخراج المدعومة؟

PDF (PdfDevice)، DVI (DviDevice)، و SVG (SvgDevice). الإدخال هو ترميز TeX من ملف أو سلسلة.

كيف يمكنني إنتاج مخرجات PDF؟

استخدم TeXJob(StringInputSource(content), PdfDevice(), options=TeXOptions()).run() لاستلام بايتات PDF.

هل يمكنني قراءة TeX من سلسلة في الذاكرة؟

نعم. استخدم StringInputSource لتمرير ترميز TeX مباشرةً دون الكتابة إلى القرص.

  

الدعم وموارد التعلم

 العربية