Uvod u članak
Aspose.TeX FOSS for Python exposes a concise engine API built around three concepts: U tom slučaju, Komisija je u skladu s člankom 20. stavkom 1. točkom (b) Uredbe.TeXJob), priključivim izlaznim uređajima (PdfDevice, DviDevice, SvgDevice), i dva tipa ulaznih izvora (FileInputSource, StringInputSource). Ovaj članak obuhvaća svaku komponentu i pokazuje kako se kombiniraju u proizvodnju PDF-a, DVI-e, i SVG izlaz od TeX oznake.
TeXJob Točka ulaza
TeXJob To je glavna klasa za pokretanje TeX motora. Prihvaća izvor ulaza, i Uređaj za izlaz i opcionalni uređaj TeXOptions, zatim pokreće tipiranje cijevi kada run() Vrijednost povratka je izlaz bajtova za tipove uređaja koji proizvode U slučaju SVG izdanja, stranice se preuzimaju s objekta uređaja. nakon run() -Dokonča.
TeXOptions Konstrukcija je s podrazumijevanjem (TeXOptions()) Koristi standardne TeX postavke koji su pogodni za većinu dokumenata.
Izlazni uređaji
PdfDevice
PdfDevice piše tipoviti dokument na PDF bajt. To je standardna “Snimka” koja se koristi za određivanje broja osoba koje su u stanju da izvrše oba zadatka.:
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)
Nakon što je… run(), vraćene bajtove sadrže kompletan PDF dokument.
DviDevice
DviDevice proizvede izlaz u formatu Device Independent (DVI) izvorni intermedijat DVI izlaz može biti upotrebljen od strane alatki za renderiranje ili prikaz. daljnja obrada:
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 Nakon što se posao pokrene, get_all_pages() Vrši popis SVG bajtnih nizova po stranici:
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)
Izvor ulaza
FileInputSource
FileInputSource Čita TeX oznake iz a .tex Ovo je datoteka na disku. standardni način unosa pri postavljanju postojećih dokumenata:
from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource
pdf_bytes = TeXJob(FileInputSource("document.tex"), PdfDevice(), options=TeXOptions()).run()
StringInputSource
StringInputSource Prihvaća TeX oznake kao Python niz. Ovaj način unosa je Koristi se za dinamičko generiranje oznaka programsko konstruirati TeX i tipiranje bez pisanja na disk:
from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource
tex = "Hello, world!"
pdf_bytes = TeXJob(StringInputSource(tex), PdfDevice(), options=TeXOptions()).run()
Kombinacija komponenti
Tri komponente rade zajedno kako bi formirale kompletan tipoviti sustav. Odaberite izvor ulaza koji odgovara vašem protoku podataka i uređaj koji podudara vaš izlazni format:
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")
Savjeti i najbolje prakse
- Upotreba:
StringInputSourceza kratke ili dinamički generirane fragmente TeX-a; upotrebuFileInputSourcepri radu s postojećim.tex-Dopisi. PdfDeviceje najprenosniji format izdanja; upotrebljava se:SvgDeviceprilikom ugradnje Izlaz TeX-a na web stranicama ili u radnim tokovima vektorske grafike.- Ponovna upotreba
TeXOptionsU slučaju da se obrađuje više dokumenata s istih postavki. - U skladu s člankom 1.
run()vrijednost povratne vrijednosti je:bytesza PDF i DVI; za SVG, bajtovi su: preuzeto iz:SvgDevice.get_all_pages()Nakon što posao završi.
Svrha referentnog API-a
| Razred | Uloga |
|---|---|
TeXJob | Ulazna točka; upravlja TeX tipom za postavljanje cijevi |
TeXOptions | Konfiguracija motora; podrazumijevani rad za većinu dokumenata |
PdfDevice | Izlazni uređaj koji proizvodi PDF bajtove |
DviDevice | Izlazni uređaj koji proizvodi DVI bajtove |
SvgDevice | Izlazni uređaj koji proizvodi SVG na stranu putem: get_all_pages() |
FileInputSource | Uvod iz .tex datoteka na disku |
StringInputSource | Uvod iz Python string-a |