مقدمة

Aspose.TeX FOSS for Python exposes a concise engine API built around three concepts: نقطة دخول موحدة (TeXJob), أجهزة الخروج القابلة للشحن (PdfDevice, DviDevice, SvgDevice) ، ونوعين من مصادر المدخلات (FileInputSource, StringInputSource). هذه المقالة تغطي كل مكون وتظهر كيفية الجمع بينها لإنتاج PDF، DVI،, وخرجات SVG من علامة TeX.


TeXJob نقطة الدخول

TeXJob هي الطبقة الرئيسية لتشغيل محرك TeX. إنها تقبل مصدر مدخل ، و جهاز الخروج، وخياري TeXOptions,ثم تشغيل خط أنابيب التخصيص عندما run() يتم استدعاء. القيمة المرجعة هي بايتات الإخراج لأنواع الأجهزة التي تنتج مخرج واحد (PDF، DVI) ؛ بالنسبة لمخروج SVG ، يتم استرداد الصفحات من كائن الجهاز. بعد ذلك run() يكتمل.

TeXOptions يُهيئ سلوك المحرك. بناءها مع الافتراضات (TeXOptions()) يستخدم إعدادات TeX القياسية الملائمة لمعظم الوثائق.


أجهزة الإخراج

PdfDevice

PdfDevice يكتب المستند النوعي إلى تيار بايت PDF. إنه القياسية جهاز إنتاج لإنتاج الإنتاج المحمول القابل للطباعة:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource

pdf_bytes = TeXJob(StringInputSource("Hello, world!"), PdfDevice(), options=TeXOptions()).run()
with open("output.pdf", "wb") as f:
    f.write(pdf_bytes)

بعد ذلك run(),، البايتات المرجعة تحتوي على مستند PDF كامل.

DviDevice

DviDevice ينتج الصورة الاصدارية من نوع Device Independent (DVI) النوع الأساسي المتوسط النسخة DVI يمكن استهلاكها بواسطة أدوات التالية لتقديم أو مزيد من المعالجة:

from aspose_tex import TeXJob, TeXOptions, DviDevice, StringInputSource

dvi_bytes = TeXJob(StringInputSource("Hello!"), DviDevice(), options=TeXOptions()).run()
with open("output.dvi", "wb") as f:
    f.write(dvi_bytes)

SvgDevice

SvgDevice يعطي كل صفحة مجموعة النوع كرسومات SVG المتجهة. بعد تشغيل العمل،, get_all_pages() يعيد قائمة السلاسل البايت SVG لكل صفحة:

from aspose_tex import TeXJob, TeXOptions, SvgDevice, StringInputSource

device = SvgDevice()
TeXJob(StringInputSource("Hello!"), device, options=TeXOptions()).run()
for i, svg in enumerate(device.get_all_pages()):
    with open(f"page_{i}.svg", "wb") as f:
        f.write(svg)

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

FileInputSource

FileInputSource يقرأ علامات TeX من a .tex هذا هو الملف على القرص. وضع الإدخال القياسي عند تعيين المستندات الموجودة:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource

pdf_bytes = TeXJob(FileInputSource("document.tex"), PdfDevice(), options=TeXOptions()).run()

StringInputSource

StringInputSource يقبل علامات TeX كسلسلاً من Python. هذا الوضع الدخول هو تستخدم لتوليد علامات التسجيل الديناميكية بناء TeX برمجياً و كتابة بدون الكتابة إلى القرص:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource

tex = "Hello, world!"
pdf_bytes = TeXJob(StringInputSource(tex), PdfDevice(), options=TeXOptions()).run()

الجمع بين المكونات

تعمل المكونات الثلاث معًا لتشكيل خط أنابيب التعيين الكامل. حدد مصدر الإدخال الذي يطابق تدفق البيانات الخاص بك والجهاز الذي يتوافق مع تنسيق الخروج:

from aspose_tex import TeXJob, TeXOptions, SvgDevice, FileInputSource

device = SvgDevice()
TeXJob(FileInputSource("report.tex"), device, options=TeXOptions()).run()
pages = device.get_all_pages()
print(f"{len(pages)} SVG pages produced")

نصائح وأفضل الممارسات

  • استخدام StringInputSource لقطع TeX قصيرة أو التي يتم توليدها ديناميكياً. استخدام: FileInputSource عند العمل مع الحاليين .tex الملفات.
  • PdfDevice هو أكثر تنسيقات المخرجات قابلية للانتقال. استخدام SvgDevice عند التضمين إنتاج TeX في صفحات الويب أو سير العمل الرسومات المتجهة.
  • إعادة الاستخدام TeXOptions في جميع الوظائف إذا كانت معالجة وثائق متعددة مع نفس الإعدادات.
  • المجلس الوزاري run() القيمة المرجعية هي: bytes في PDF و DVI؛ بالنسبة إلى SVG، البايت هي: تم استرداده من SvgDevice.get_all_pages() بعد أن تنتهي المهمة.

ملخص مرجع API

الفئةدورها
TeXJobنقطة الدخول؛ تدفع خط أنابيب تطبيق TeX
TeXOptionsتكوين المحرك؛ العمل الافتراضي لمعظم الوثائق
PdfDeviceجهاز مخرج ينتج بايتات PDF
DviDeviceجهاز مخرج ينتج بايتات DVI
SvgDeviceجهاز الإخراج الذي ينتج SVG لكل صفحة عبر: get_all_pages()
FileInputSourceالمدخلات من a .tex ملف على القرص
StringInputSourceإدخال من سلسلة Python

انظر أيضا

بدءاً من

الموارد ذات الصلة