Introduction

Aspose.TeX FOSS for Python exposes a concise engine API built around three concepts: единый пункт въезда (TeXJob), встраиваемые выходное устройство (PdfDevice, DviDevice, SvgDevice), и двух типов источников ввода (FileInputSource, StringInputSource). В этой статье рассматривается каждый компонент и показывается, как они объединяются для получения PDF, DVI, и SVG-вывод из TeX.


TeXJob Входный пункт

TeXJob является основным классом для управления двигателем TeX. Он принимает источник ввода, и выходное устройство и дополнительное оборудование, необязательное. TeXOptions, затем запускает трубопровод для настройки типа, когда: run() Возвратное значение - это выходные байты для типов устройств, которые производят один выход (PDF, DVI); для выхода SVG страницы извлекаются из объекта устройства. после run() завершает.

TeXOptions Конфигурирует поведение двигателя.TeXOptions()) использует стандартные настройки TeX, подходящие для большинства документов.


Выходное устройство

PdfDevice (устройство)

PdfDevice пишет набор документов в потоке PDF байтов. Это стандартный выходное устройство для производства переносного, распечатываемого выхода:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource

pdf_bytes = TeXJob(StringInputSource("Hello, world!"), PdfDevice(), options=TeXOptions()).run()
with open("output.pdf", "wb") as f:
    f.write(pdf_bytes)

After run(), возвращенные байты содержат полный PDF-документ.

Диви-устройство

DviDevice производит выход в формате Device Independent (DVI) нативный промежуточный формат TeX. Выход DVI может быть использован инструментами для рендеринга или дальнейшая обработка:

from aspose_tex import TeXJob, TeXOptions, DviDevice, StringInputSource

dvi_bytes = TeXJob(StringInputSource("Hello!"), DviDevice(), options=TeXOptions()).run()
with open("output.dvi", "wb") as f:
    f.write(dvi_bytes)

SvgDevice (устройство)

SvgDevice После выполнения работы, мы можем сделать это в виде SVG-векторной графики., get_all_pages() возвращает список строк байтов SVG на страницу:

from aspose_tex import TeXJob, TeXOptions, SvgDevice, StringInputSource

device = SvgDevice()
TeXJob(StringInputSource("Hello!"), device, options=TeXOptions()).run()
for i, svg in enumerate(device.get_all_pages()):
    with open(f"page_{i}.svg", "wb") as f:
        f.write(svg)

Источники ввода

FileInputSource

FileInputSource читает TeX отметки из .tex Это файл на диске. стандартный режим ввода при настройке существующих документов:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource

pdf_bytes = TeXJob(FileInputSource("document.tex"), PdfDevice(), options=TeXOptions()).run()

StringInputSource

StringInputSource принимает разметку TeX как строку Python. Этот режим ввода является используется для создания динамических разметки программируемой конструкции TeX и настройка без записи на диск:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource

tex = "Hello, world!"
pdf_bytes = TeXJob(StringInputSource(tex), PdfDevice(), options=TeXOptions()).run()

Объединение компонентов

Три компонента работают вместе, чтобы сформировать полную систему типообразования. Выберите источник ввода, который соответствует потоку данных и устройство, которое соответствуёт формату вывоза:

from aspose_tex import TeXJob, TeXOptions, SvgDevice, FileInputSource

device = SvgDevice()
TeXJob(FileInputSource("report.tex"), device, options=TeXOptions()).run()
pages = device.get_all_pages()
print(f"{len(pages)} SVG pages produced")

Советы и лучшие практики

  • Использование: StringInputSource для коротких или динамически генерируемых фрагментов TeX; использование: FileInputSource при работе с существующими .tex Файлы.
  • PdfDevice является наиболее переносным форматом вывода; использование SvgDevice при встраивании Вывод TeX на веб-страницах или в потоках работы векторной графики.
  • Reuse TeXOptions при обработке нескольких документов с помощью в тех же параметрах.
  • В связи с этим run() возвращаемая величина: bytes для PDF и DVI; для SVG байты: полученные из: SvgDevice.get_all_pages() после того, как работа будет завершена.

Справочное резюме API

ClassRole
TeXJobВходная точка; управляет трубопроводом типообразования TeX.
TeXOptionsКонфигурация двигателя; по умолчанию работает для большинства документов
PdfDeviceВыходное устройство, производящее байты PDF.
DviDeviceВыходное устройство, производящее байты DVI.
SvgDeviceВыходное устройство, производящее SVG на страницу через: get_all_pages()
FileInputSourceВход от .tex файл на диске
StringInputSourceВвод из строки Python

See Also

Начинать

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