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ó: StringInputSource per a fragments de TeX curts o generats dinàmicament; utilitzar FileInputSource en el treball amb els sistemes existents de .tex arxius.
  • PdfDevice és el format de sortida més portàtil; utilitzar SvgDevice en la incorporació Exportació de TeX en pàgines web o flux de treball de gràfics vectorials.
  • Reuse TeXOptions instàncies en tots els llocs de treball si es processen múltiples documents amb les mateixes configuracions.
  • El run() el valor de retorn és: bytes per 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

ClassRole
TeXJobPunt d’entrada; impulsa el pipeline de configuració de tipus TeX.
TeXOptionsConfiguració del motor; les normes per defecte funcionen en la majoria dels documents.
PdfDeviceDispositiu de sortida que produeix bytes PDF
DviDeviceDispositiu de sortida que produeix bytes DVI
SvgDeviceDispositiu de sortida que produeix SVG per pàgina via get_all_pages()
FileInputSourceIntroducció d’un .tex Arxiu en disc
StringInputSourceIntroducció d’una cadena de Python

See Also

Com començar a treballar

Recursos relacionats