Введение

Aspose.TeX FOSS для Python — это бесплатный, лицензированный по MIT TeX движок наборки, который полностью работает в Python — без установки LaTeX, без среды выполнения Perl, без необходимости внешнего распределения TeX. Установите его одной командой менеджера пакетов и вызовите TeXJob.run(), чтобы преобразовать разметку TeX в PDF, DVI или SVG.

Библиотека разработана для конвейеров обработки документов, рендеринга математических формул и приложений академических издательств, где разметка TeX должна обрабатываться программно. Она принимает ввод из файловых путей (FileInputSource) или из строк в памяти (StringInputSource), что делает её подходящей как для пакетных рабочих процессов, так и для динамической генерации контента.

Aspose.TeX FOSS выпущен под лицензией MIT. Коммерческое использование разрешено без ограничений.


Ключевые особенности

PDF Output via PdfDevice

Устройство вывода PdfDevice записывает наборный контент в поток байтов PDF. Создайте TeXJob с PdfDevice и вызовите 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()

SVG-вывод через SvgDevice

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

DVI-вывод через DviDevice

DviDevice создает байты вывода Device Independent (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)

Поддерживаемые форматы

ФорматРасширениеУстройство вывода
PDF.pdfPdfDevice
DVI.dviDviDevice
SVG.svgSvgDevice

Ввод представляет собой разметку TeX, предоставленную в виде пути к файлу или строки в памяти. Этот проект находится на стадии pre-alpha (см. Руководство разработчика для текущего статуса); поддержка форматов вывода активно разрабатывается.


Открытый исходный код и лицензирование

Aspose.TeX FOSS для Python выпущен под лицензией MIT. Коммерческое использование разрешено без платежей и ограничений.


Начало работы

Связанные ресурсы