1. 产品
  2.   Aspose.TeX
  3.   Aspose.TeX FOSS for Python

Aspose.TeX FOSS for Python

免费、MIT 许可证的 Python 库,用于从 TeX 标记生成 PDF、DVI 和 SVG 输出。无需 LaTeX 运行时。

Aspose.TeX FOSS — 开源 Python TeX 引擎

Aspose.TeX FOSS for Python (aspose-tex) 是一个免费、MIT 许可证的 TeX 排版引擎,面向 Python 开发者。它可以生成 PDF、DVI 或 SVG 输出 —— 无需 LaTeX 安装或外部运行时。

该库提供了三种输出设备:PdfDevice 用于 PDF 输出,DviDevice 用于 DVI 输出,SvgDevice 用于多页 SVG 输出。TeXJob 类是主要入口点;它接受一个 FileInputSourceStringInputSource 以及一个输出设备,然后在调用 .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

文件和DVI输出

  • PdfDevice 包装 PdfWriter 以生成 PDF 1.4 输出字节
  • DviDevice 包装 DviWriter 用于 DVI 输出
  • TeXJob.run() 返回 bytes 或写入 PathBytesIO
  • 内存中处理 — 无需临时文件

使用情况

  • 将数学方程和技术文档输入到PDF中
  • 从TeX源生成准备打印的输出
  • 在CI/CD管道中批量转换TeX文件.
  • 制作下游工具的DVI

输出SVG

  • 包装SVG 1.1多页输出的SvgDevice SvgWriter
  • get_bytes() 返回单页文档的SVG字节
  • get_all_pages() 返回多页文档的字节列表.
  • 清洁的向量输出用于网络和显示器使用.

使用情况

  • 呈现TeX方程为网页的内线SVG
  • 将类型集数字导出到可扩展向量格式
  • 生成图表和数学符号
  • 提供从API和Web服务的SVG输出

灵活的输入来源

  • StringInputSource 提供TeX标记作为一个 Python字符串
  • FileInputSource 从磁盘上的文件路径读取TeX源
  • InputReader 用于自定义输入实现的基本协议
  • TeXOptions.load_format 控制格式预加载

使用情况

  • 在内存中处理动态生成的TeX标记
  • 在批量工作流中从磁盘转换TeX文件
  • 将TeX染集成到Web应用中
  • 连锁TeX处理与其他数据管道

字体管理

  • FontManager 提供对 TFM 字体度量的访问
  • FontEncoding 将 TeX 字符代码映射到 PostScript 字形名称
  • FontMetrics 为每个字符公开宽度、高度和深度度量
  • TeXOptions.extra_font_paths — 扩展字体搜索路径

使用情况

  • 在类型设置工作中使用自定义的TFM字体
  • 程序性地访问字符计量数据
  • 调试字体分辨率和编码问题
  • 扩展引擎,增加字体目录

处理TeX到PDF

使用 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

从文件中读取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

导出TeX到DVI

使用 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 标记。

如何制作PDF输出?

使用TeXJob(StringInputSource(content), PdfDevice(), options=TeXOptions()).run()来接收 PDF 字节.

我能从内存字符串中读出TeX吗?

是的.使用StringInputSource直接传递TeX标记而无需写入磁盘.

  

支持和学习资源

 中文