مقدمة
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 |