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
StringInputSourcepara fragmentos de TeX cortos o generados dinámicamente; usoFileInputSourceCuando trabajamos con el existente.texLos archivos. PdfDevicees el formato de salida más portátil; utilizaSvgDeviceCuando se incorporan TECS en páginas web o flujos de trabajo gráficos vector.- Reutilizar
TeXOptionsde los trabajos, cuando se procesan varios documentos con las mismas instalaciones. - El
run()El valor de retorno esbytespara PDF y DVI; para SVG, los bytes son Recupera deSvgDevice.get_all_pages()Después de que el trabajo se cumpla.
Sumación de referencia API
| clase | ROLLO |
|---|---|
TeXJob | Punto de entrada; conduce el pipeline de tipificación TeX |
TeXOptions | Configuración del motor; los defectos funcionan para la mayoría de documentos |
PdfDevice | Dispositivo de salida que produce PDF bytes |
DviDevice | Dispositivo de salida que produce DVI bytes |
SvgDevice | El dispositivo de salida que produce SVG por página get_all_pages() |
FileInputSource | Introducción de A .tex Archivo en disco |
StringInputSource | Introducción a una string de Python |