Introduction
Aspose.TeX FOSS for Python exposes a concise engine API built around three concepts: un punt d’entrada unificat (TeXJob), dispositius de sortida enchufables (PdfDevice, DviDevice, SvgDevice), i dos tipus de fonts d’entrada (FileInputSource, StringInputSource). Aquest article abasta cada component i mostra com es combinen per produir PDF, DVI, i sortida SVG de marcació TeX.
TeXJob El punt d’entrada
TeXJob és la classe principal per a conduir el motor TeX. Accepta una font d’entrada, un dispositiu de sortida, i opcional TeXOptions, després executar el pipeline de configuració quan run() El valor de retorn és els bytes d’entrada per a tipus de dispositius que produeixen una sola sortida (PDF, DVI); per a la sortides SVG, les pàgines s’extreuen de l’objecte del dispositiu. després de run() complementa.
TeXOptions Configura el comportament del motor. Construir-lo amb les predefinides (TeXOptions()) utilitza la configuració TeX estàndard adequada per a la majoria de documents.
Dispositius de sortida
PdfDevice (dispositiu de dades)
PdfDevice escriu el document de tipus en un flux d’octets PDF. És l’estàndard Dispositiu de sortida per a la producció d’una sortides portàtils i imprimibles:
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(), els bytes retornats contenen el document PDF complet.
DviDevice (dispositiu)
DviDevice Produeix la sortida en format Device Independent (DVI) el intermedi natiu. format de TeX. La sortida DVI pot ser consumida per eines descendents per a la reproducció o posterior tractament:
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 (dispositiu de mòbil)
SvgDevice Representa cada pàgina de tipus com un gràfic vectorial SVG. Després que l’obra s’executeixi, get_all_pages() Retorna la llista de cadenes d’bytes SVG per pàgina:
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)
Fonts d’entrada
FileInputSource
FileInputSource llegeix el marcador de TeX d’un .tex Aquest és el fitxer en disc. Mètode d’entrada estàndard en la configuració de documents existents:
from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource
pdf_bytes = TeXJob(FileInputSource("document.tex"), PdfDevice(), options=TeXOptions()).run()
StringInputSource
StringInputSource Accepta el marcador TeX com a cadena de Python. Aquest mode d’entrada és utilitzat per a la generació de marcadors dinàmics construint TeX programàticament i Tipar sense escriure al disc:
from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource
tex = "Hello, world!"
pdf_bytes = TeXJob(StringInputSource(tex), PdfDevice(), options=TeXOptions()).run()
Combinació de components
Els tres components treballen junts per formar un pipeline complet de configuració. Selecciona la font d’entrada que coincideix amb el teu flux de dades i l’aparell que correspon al teu format d ’ sortida:
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")
Consells i millors pràctiques
- Utilització:
StringInputSourceper a fragments de TeX curts o generats dinàmicament; utilitzarFileInputSourceen el treball amb els sistemes existents de.texarxius. PdfDeviceés el format de sortida més portàtil; utilitzarSvgDeviceen la incorporació Exportació de TeX en pàgines web o flux de treball de gràfics vectorials.- Reuse
TeXOptionsinstàncies en tots els llocs de treball si es processen múltiples documents amb les mateixes configuracions. - El
run()el valor de retorn és:bytesper a PDF i DVI; per SVG, els bytes són: recuperada de:SvgDevice.get_all_pages()després que s’acabi el treball.
Resum de referència d’API
| Class | Role |
|---|---|
TeXJob | Punt d’entrada; impulsa el pipeline de configuració de tipus TeX. |
TeXOptions | Configuració del motor; les normes per defecte funcionen en la majoria dels documents. |
PdfDevice | Dispositiu de sortida que produeix bytes PDF |
DviDevice | Dispositiu de sortida que produeix bytes DVI |
SvgDevice | Dispositiu de sortida que produeix SVG per pàgina via get_all_pages() |
FileInputSource | Introducció d’un .tex Arxiu en disc |
StringInputSource | Introducció d’una cadena de Python |