Введение
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)
Поддерживаемые форматы
| Формат | Расширение | Устройство вывода |
|---|---|---|
PdfDevice | ||
| DVI | .dvi | DviDevice |
| SVG | .svg | SvgDevice |
Ввод представляет собой разметку TeX, предоставленную в виде пути к файлу или строки в памяти. Этот проект находится на стадии pre-alpha (см. Руководство разработчика для текущего статуса); поддержка форматов вывода активно разрабатывается.
Открытый исходный код и лицензирование
Aspose.TeX FOSS для Python выпущен под лицензией MIT. Коммерческое использование разрешено без платежей и ограничений.