Въведение

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)

След това. run(), връщаните байтове съдържат пълния PDF документ.

DviDevice

DviDevice произвежда изход във формат Device Independent (DVI) местния междинен 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 байтstrings за всяка страница:

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 маркировка от a .tex Това е файлът на диска. стандартен режим на вписване при въвеждане на съществуващи документи:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource

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

StringInputSource

StringInputSource приема TeX маркировка като Python string. Този режим на вписване е използвани за генериране на динамични маркировки изграждане на 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 в уеб страници или работни потоци за векторна графика.
  • Повторно използване TeXOptions Въз основа на това, че в момента се прилагат различни методи за обработка на документи. Същите настройки.
  • Съветът на ЕС run() възвръщаема стойност е: bytes за PDF и DVI; за SVG, байтовете са: извлечени от: SvgDevice.get_all_pages() След като свърши работата.

Снимка на API референтна информация

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

Виж също

Започваме

Свързани ресурси