Introducción

Aspose.TeX FOSS for Python exposes a concise engine API built around three concepts: Un punto de entrada unificado (TeXJobLos dispositivos de salida (PdfDevice, DviDevice, SvgDevice2 Tipos de fuentes (FileInputSource, StringInputSource). Este artículo cubre cada componente y muestra cómo se combinan para producir PDF, DVI, y SVG de la marcación de TeX.


TeXJob - El punto de entrada

TeXJob es la clase principal para conducir el motor TeX. Se acepta una fuente de entrada, un El dispositivo de salida y el opcional TeXOptions,Entonces, el tubo de tipificación se dirige cuando run() El valor de retorno es el byte de producción para los tipos de dispositivos que producen una única salida (PDF, DVI); para la salida SVG, las páginas se reciben del objeto del dispositivo Después de run() Completo de .

TeXOptions El sistema de control del motor se configura con defectos (TeXOptions()) Utiliza las configuraciones de TeX estándar adecuadas para la mayoría de los documentos.


Equipos de salida

PdfDevice

PdfDevice escribe el documento de tipografía en un flujo de byte PDF. Es la norma Dispositivo de salida para producir una producción portátil, impresible:

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)

Después de run(),Los bajos devueltos contienen el documento PDF completo.

DviDevice

DviDevice producen la salida de formato Device Independent (DVI) — el nativo intermediario formato de TeX. la salida DVI puede ser consumida por herramientas de descenso para renderización o Procesamiento adicional:

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 rendir cada página de tipografía como un gráfico vector SVG. Después del trabajo se lleva a cabo, get_all_pages() devolve la lista de las líneas por página SVG byte:

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)

Fuentes de entrada

FileInputSource

FileInputSource TeX marca la etiqueta de A .tex El disco en el disco. es la Modo de entrada estándar cuando se tipifica los documentos existentes:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource

pdf_bytes = TeXJob(FileInputSource("document.tex"), PdfDevice(), options=TeXOptions()).run()

StringInputSource

StringInputSource acepta la marcación de TeX como una string Python. este modo de entrada es utilizados para la generación de marcadores dinámicos — construyendo TeX programticamente y Para escribir sin escribir en disco:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource

tex = "Hello, world!"
pdf_bytes = TeXJob(StringInputSource(tex), PdfDevice(), options=TeXOptions()).run()

Combinando componentes

Los tres componentes trabajan juntos para formar un tubo de tipificación completo. Seleccione la fuente de entrada que se ajusta a su flujo de datos y el dispositivo que corresponde al formato de salida:

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")

Consejos y mejores prácticas

  • Uso StringInputSource para fragmentos de TeX cortos o generados dinámicamente; uso FileInputSource Cuando trabajamos con el existente .tex Los archivos.
  • PdfDevice es el formato de salida más portátil; utiliza SvgDevice Cuando se incorporan TECS en páginas web o flujos de trabajo gráficos vector.
  • Reutilizar TeXOptions de los trabajos, cuando se procesan varios documentos con las mismas instalaciones.
  • El run() El valor de retorno es bytes para PDF y DVI; para SVG, los bytes son Recupera de SvgDevice.get_all_pages() Después de que el trabajo se cumpla.

Sumación de referencia API

claseROLLO
TeXJobPunto de entrada; conduce el pipeline de tipificación TeX
TeXOptionsConfiguración del motor; los defectos funcionan para la mayoría de documentos
PdfDeviceDispositivo de salida que produce PDF bytes
DviDeviceDispositivo de salida que produce DVI bytes
SvgDeviceEl dispositivo de salida que produce SVG por página get_all_pages()
FileInputSourceIntroducción de A .tex Archivo en disco
StringInputSourceIntroducción a una string de Python

Ver también

Empezando a

Recursos relacionados