Introducere
Aspose.TeX FOSS for Python exposes a concise engine API built around three concepts: un punct de intrare unificat (TeXJob), dispozitive de ieşire cu conexiune (PdfDevice, DviDevice, SvgDevice), și două tipuri de surse de intrare (FileInputSource, StringInputSource). Acest articol acoperă fiecare component și arată cum se combină pentru a produce PDF, DVI, şi ieşirea SVG din marcajul TeX.
TeXJob Punctul de intrare
TeXJob este clasa principală pentru a conduce motorul TeX. Acceptă o sursă de intrare, un sistem de comandă și un dispozitiv de control al motoarelor. dispozitiv de ieșire și opțional TeXOptions, apoi rulează pipeline-ul de tipare atunci când run() este numit. Valoarea returnată este bați de ieșire pentru tipurile de dispozitive care produc o singură ieșire (PDF, DVI); pentru ieşirea SVG, paginile sunt recuperate din obiectul dispozitivului. după ce: run() completă.
TeXOptions Configurează comportamentul motorului. Construirea acestuia cu standard (TeXOptions()) folosește setările standard TeX potrivite pentru majoritatea documentelor.
Dispozitive de ieșire
PdfDevice
PdfDevice Scrie documentul tip set într-un flux de bați PDF. Este standard dispozitiv de ieșire pentru producerea unei ieşiri portabile, imprimabilă:
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)
După … run(), baitii returnați conțin documentul PDF complet.
DviDevice
DviDevice produce format de ieșire Device Independent (DVI) intermediarul nativ Formatul de text DVI poate fi consumat de instrumentele din aval pentru redare sau prelucrarea ulterioară:
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 Rendează fiecare pagină tipărită ca o grafică vectorială SVG. După executarea sarcinii, get_all_pages() returnă lista de șiruri SVG pe pagină:
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)
Surse de intrare
FileInputSource
FileInputSource citește marcare TeX de la un .tex Acesta este fişierul de pe disc. modul standard de introducere în cazul tipării documentelor existente:
from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource
pdf_bytes = TeXJob(FileInputSource("document.tex"), PdfDevice(), options=TeXOptions()).run()
StringInputSource
StringInputSource Acceptă marcajul TeX ca o șir Python. Acest mod de intrare este utilizat pentru generarea de marcare dinamică construirea TeX programatic și Tiparea fără a scrie pe disc:
from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource
tex = "Hello, world!"
pdf_bytes = TeXJob(StringInputSource(tex), PdfDevice(), options=TeXOptions()).run()
Combinarea componentelor
Cele trei componente lucrează împreună pentru a forma o conduită completă de setare tip. Selectați sursa de intrare care se potrivește fluxului dvs. de date și dispozitivul care corespunde formatului dumneavoastră de ieșire:
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")
Sfaturi şi cele mai bune practici
- Utilizare:
StringInputSourcepentru fragmente scurte sau generate dinamic de TeX; utilizarea:FileInputSourceîn cazul lucrării cu un sistem existent de.texDosare. PdfDeviceeste formatul de ieșire cel mai portabil; utilizareaSvgDeviceîn momentul introducerii Export TeX în paginile web sau fluxurile de lucru cu grafică vectorială.- Reutilizare
TeXOptionsÎn cazul în care procesarea mai multor documente cu un alt tip de document este necesară, se poate aplica o metodă diferită. aceleaşi setări. - În ceea ce priveşte
run()valoarea returnată este:bytespentru PDF și DVI; pentru SVG, baitii sunt: recuperate din:SvgDevice.get_all_pages()după ce se termină treaba.
Rezultatele de la data aplicării.
| Clasa de învăţământ | Rolul său |
|---|---|
TeXJob | Punct de intrare; conduce conducerea de tipare TeX |
TeXOptions | Configurația motorului; funcționează în mod implicit pentru majoritatea documentelor |
PdfDevice | Dispozitiv de ieșire care produce bați PDF |
DviDevice | Dispozitiv de ieșire care produce bați DVI |
SvgDevice | Dispozitiv de ieșire care produce SVG pe pagină prin intermediul: get_all_pages() |
FileInputSource | Intrare de la un .tex Fişier pe disc |
StringInputSource | Intrare dintr-un șir Python |