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 (Двіпристрій)
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 Отож, після виконання роботи, ми можемо передати на сторінку., 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
| Class | Role |
|---|---|
TeXJob | Точка входу; керуває трубопроводом типового налаштування TeX. |
TeXOptions | Конфігурація двигуна; за замовчуванням працює для більшості документів |
PdfDevice | Вихідне пристрій, що виробляє байти PDF |
DviDevice | Вихідне пристрій, що виробляє байти DVI |
SvgDevice | Вихідне пристрій, що виробляє SVG на сторінку через: get_all_pages() |
FileInputSource | Вхід з .tex файл на дискеті |
StringInputSource | Вхід з Python-струнки |