介绍
Aspose.TeX FOSS 用于 Python 是一个免费、MIT 许可证的 TeX 排版引擎,完全在 Python 中运行——无需 LaTeX 安装,无需 Perl 运行时,也不需要外部 TeX 分发。使用单一的包管理器命令进行安装,并调用 TeXJob.run() 将 TeX 标记转换为 PDF、DVI 或 SVG 输出。
该库专为文档流水线、数学渲染和学术出版应用设计,在这些场景中需要以编程方式处理 TeX 标记。它接受来自文件路径(FileInputSource)或内存字符串(StringInputSource)的输入,使其既适用于批处理工作流,也适用于动态内容生成。
Aspose.TeX FOSS 在 MIT 许可证下发布。商业使用不受限制。
关键特性
通过 PdfDevice 的 PDF 输出
PdfDevice 输出设备将排版内容写入 PDF 字节流。使用 PdfDevice 构建一个 TeXJob 并调用 run() 以获取 PDF 字节:
from aspose_tex import TeXJob, TeXOptions
from aspose_tex import PdfDevice
from aspose_tex import StringInputSource
source = StringInputSource("Hello world!")
job = TeXJob(source, PdfDevice(), options=TeXOptions())
pdf_bytes = job.run()
通过 SvgDevice 实现 SVG 输出
SvgDevice 将每个排版页面渲染为 SVG 图形。get_all_pages() 方法返回一个 SVG 字节串列表,每页一个:
from aspose_tex import TeXJob, TeXOptions
from aspose_tex import SvgDevice
from aspose_tex import StringInputSource
device = SvgDevice()
job = TeXJob(StringInputSource("Hello world!"), device, options=TeXOptions())
job.run()
pages = device.get_all_pages()
通过 DviDevice 实现 DVI 输出
DviDevice 生成设备无关 (DVI) 输出字节——这是传统 TeX 工作流在最终渲染前使用的中间格式:
from aspose_tex import TeXJob, TeXOptions
from aspose_tex import DviDevice
from aspose_tex import StringInputSource
source = StringInputSource("Hello world!")
job = TeXJob(source, DviDevice(), options=TeXOptions())
dvi_bytes = job.run()
使用 FileInputSource 的基于文件的输入
FileInputSource 从磁盘上的文件读取 TeX 标记:
from aspose_tex import TeXJob, TeXOptions
from aspose_tex import PdfDevice
from aspose_tex import FileInputSource
job = TeXJob(FileInputSource("document.tex"), PdfDevice(), options=TeXOptions())
pdf_bytes = job.run()
使用 StringInputSource 的内存输入
StringInputSource 接受原始的 TeX 标记作为 Python 字符串:
from aspose_tex import TeXJob, TeXOptions
from aspose_tex import PdfDevice
from aspose_tex import StringInputSource
job = TeXJob(StringInputSource("Hello, world!"), PdfDevice(), options=TeXOptions())
pdf_bytes = job.run()
快速入门
安装软件包:
git clone https://github.com/aspose-tex-foss/Aspose.TeX-FOSS-for-Python.git
cd Aspose.TeX-FOSS-for-Python
pip install -e .将 TeX 字符串排版为 PDF:
from aspose_tex import TeXJob, TeXOptions
from aspose_tex import PdfDevice
from aspose_tex import StringInputSource
pdf_bytes = TeXJob(StringInputSource("Hello!"), PdfDevice(), options=TeXOptions()).run()
with open("output.pdf", "wb") as f:
f.write(pdf_bytes)
支持的格式
| 格式 | 扩展名 | 输出设备 |
|---|---|---|
PdfDevice | ||
| DVI | .dvi | DviDevice |
| SVG | .svg | SvgDevice |
输入是以文件路径或内存字符串提供的 TeX 标记。本项目处于 pre-alpha 阶段(请参阅 Developer Guide 了解当前状态);输出格式支持正积极开发中。
开源与许可
Aspose.TeX 针对 Python 的 FOSS 在 MIT 许可证下发布。商业使用在无费用或限制的情况下被允许。