Въведение
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 нишка |