Introduction
Aspose.TeX FOSS for Python exposes a concise engine API built around three concepts: एकीकृत प्रवेश बिंदु (TeXJob) प्लग-उत्पाद उपकरणों (PdfDevice, DviDevice, SvgDeviceऔर दो प्रकार के प्रवेश स्रोत (FileInputSource, StringInputSource). यह लेख प्रत्येक घटक को कवर करता है और दिखाता है कि वे पीडीएफ, डीवीआई, और SVG आउटपुट से TeX मार्कअप।.
TeXJob - प्रवेश बिंदु
TeXJob यह TeX इंजन चलाने के लिए मुख्य वर्ग है. यह एक इनपुट स्रोत, एक डिवाइस और वैकल्पिक TeXOptions,तो चलती है ट्यूटोरियल सिस्टम जब run() वापसी मूल्य उपकरण प्रकार के लिए उत्पादन बाइट्स है जो उत्पादित करता है एकल आउटपुट (पीडीएफ, डीवीआई); एसवीजी आउट्स के लिए, पृष्ठ डिवाइस वस्तु से प्राप्त किए जाते हैं बाद में run() पूरा हो गया।.
TeXOptions मशीन के साथ एक डिफ़ॉल्ट सेटअप (TeXOptions()) अधिकांश दस्तावेजों के लिए उपयुक्त मानक TeX सेटिंग्स का उपयोग करें।.
आउटपुट डिवाइस
पीडीएफ
PdfDevice एक पीडीएफ बाइट प्रवाह में टाइपसेट दस्तावेज़ लिखता है. यह मानक है पोर्टेबल, प्रिंट योग्य उत्पादन के लिए आउटपुट डिवाइस:
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)
After run(), वापस भेजे गए बाइट्स में पूर्ण पीडीएफ दस्तावेज होता है।.
दोहरी
DviDevice डिवाइस स्वतंत्र (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 प्रत्येक टाइप सेट पृष्ठ को एक 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 टेक्स मार्कअप से पढ़ता है A .tex फ़ाइल पर डिस्क. यह है मौजूदा दस्तावेजों को टाइप करने के लिए मानक इनपुट मोड:
from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource
pdf_bytes = TeXJob(FileInputSource("document.tex"), PdfDevice(), options=TeXOptions()).run()
StringInputSource
StringInputSource एक Python स्ट्रिंग के रूप में TeX मार्कअप स्वीकार करता है. यह इनपुट मोड गतिशील मार्कअप जनरेटिंग के लिए इस्तेमाल किया जाता है – 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 आउटपुट।.- Reuse
TeXOptionsकई मामलों में काम पर, यदि आप कई दस्तावेजों को संसाधित करते हैं एक ही व्यवस्था।. - के लिए
run()वापसी का मूल्य हैbytesPDF और DVI के लिए; SVG के लिये, बाइट्स हैं रिटायर सेSvgDevice.get_all_pages()काम पूरा होने के बाद।.
API संदर्भ सारांश
| Class | Role |
|---|---|
TeXJob | प्रवेश बिंदु; TeX टाइपिंग पाइपलाइन को चलाता है |
TeXOptions | इंजन सेटिंग; अधिकांश दस्तावेजों के लिए डिफ़ॉल्ट काम |
PdfDevice | आउटपुट डिवाइस पीडीएफ बाइट्स का उत्पादन करता है |
DviDevice | आउटपुट डिवाइस डीवीआई बाइट्स का उत्पादन करता है |
SvgDevice | आउटपुट डिवाइस प्रति पृष्ठ SVG के माध्यम से उत्पादन करता है get_all_pages() |
FileInputSource | आउटपुट से A .tex डिस्क पर फ़ाइल |
StringInputSource | एक Python स्ट्रिंग से इनपुट |