Aspose.TeX FOSS for Python (aspose-tex) 是一个免费、MIT 许可证的 TeX 排版引擎,面向 Python 开发者。它可以生成 PDF、DVI 或 SVG 输出 —— 无需 LaTeX 安装或外部运行时。
该库提供了三种输出设备:PdfDevice 用于 PDF 输出,DviDevice 用于 DVI 输出,SvgDevice 用于多页 SVG 输出。TeXJob 类是主要入口点;它接受一个 FileInputSource 或 StringInputSource 以及一个输出设备,然后在调用 .run() 时运行排版引擎。
Aspose.TeX FOSS for Python 在 MIT 许可证下发布。它可在 Python 3.10+ 环境中运行,支持包括 Linux、macOS 和 Windows 在内的所有主流操作系统。使用 pip install aspose-tex>=26.5 安装。无需 Ghostscript 或 TeX Live 依赖。企业版产品请参见 Aspose.TeX for Python — Enterprise Product。
PdfDevice 包装 PdfWriter 以生成 PDF 1.4 输出字节DviDevice 包装 DviWriter 用于 DVI 输出TeXJob.run() 返回 bytes 或写入 Path 或 BytesIOSvgDevice SvgWriterget_bytes() 返回单页文档的SVG字节get_all_pages() 返回多页文档的字节列表.StringInputSource 提供TeX标记作为一个 Python字符串FileInputSource 从磁盘上的文件路径读取TeX源InputReader 用于自定义输入实现的基本协议TeXOptions.load_format 控制格式预加载FontManager 提供对 TFM 字体度量的访问FontEncoding 将 TeX 字符代码映射到 PostScript 字形名称FontMetrics 为每个字符公开宽度、高度和深度度量TeXOptions.extra_font_paths — 扩展字体搜索路径使用 pip install aspose-tex>=26.5 安装,然后输入一个TeX字符串以获取 PDF 字节:
from aspose_tex import StringInputSource, PdfDevice, TeXJob, TeXOptions
opts = TeXOptions(load_format=False)
result = TeXJob(
StringInputSource(r"Hello -- done"),
PdfDevice(),
options=opts,
).run()
# result is bytes containing a valid PDF
从文件中读取TeX源,并将每个页面导出为SVG:
from aspose_tex import FileInputSource, SvgDevice, TeXJob, TeXOptions
opts = TeXOptions(load_format=False)
device = SvgDevice()
TeXJob(FileInputSource("input.tex"), device, options=opts).run()
pages = device.get_all_pages() # list[bytes] of SVG per page
使用 DviDevice 来生成 DVI输出:
from aspose_tex import StringInputSource, DviDevice, TeXJob, TeXOptions
opts = TeXOptions(load_format=False)
result = TeXJob(
StringInputSource(r"\hbox{Test}-- done"),
DviDevice(),
options=opts,
).run()
# result is bytes containing DVI data
Aspose.TeX FOSS for Python 在 MIT 许可证下发布。商业使用被允许且无需费用或限制。
不. 它是一个纯Python包,不需要LaTeX安装,Perl运行时间或外部Tex分发.
PDF (PdfDevice)、DVI (DviDevice)和 SVG (SvgDevice)。输入是来自文件或字符串的 TeX 标记。
使用TeXJob(StringInputSource(content), PdfDevice(), options=TeXOptions()).run()来接收 PDF 字节.
是的.使用StringInputSource直接传递TeX标记而无需写入磁盘.