Introduction

Aspose.TeX FOSS for Python exposes a concise engine API built around three concepts: Một điểm nhập cảnh (TeXJobCác thiết bị phát điện (PdfDevice, DviDevice, SvgDevice2 loại nguồn nhập (FileInputSource, StringInputSource). Bài viết này bao gồm mỗi thành phần và cho thấy cách chúng kết hợp để sản xuất PDF, DVI, và SVG xuất khẩu từ TeX markup.


TeXJob - Điểm Gồm

TeXJob là lớp chính để lái động cơ TeX. Nó chấp nhận một nguồn nhập, một Thiết bị phát hành, và tùy chọn TeXOptions, sau đó chạy đường ống typetting khi run() Giá trị trở lại là byte output cho các loại thiết bị sản xuất một bản phát (PDF, DVI); cho SVG, các trang được thu hồi từ đối tượng thiết bị Sau khi run() hoàn thành .

TeXOptions - Tính năng của máy tính để thiết lập (để tạo ra các lỗi)TeXOptions()) sử dụng các thiết lập TeX tiêu chuẩn phù hợp với hầu hết các tài liệu.


Thiết bị output

PdfDevice

PdfDevice viết tài liệu typset vào một dòng byte PDF. nó là tiêu chuẩn Thiết bị phát hành để sản xuất, in di động:

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(), các byte trả về chứa tài liệu PDF đầy đủ.

2 Đánh giá

DviDevice sản xuất Device Independent (DVI) định dạng phát hành — nội địa trung gian định dạng của TeX. DVI output có thể được tiêu thụ bởi các công cụ downstream để rendering hoặc Hơn nữa xử lý:

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)

Thụy Điển

SvgDevice render mỗi tipet trang như một SVG vector đồ họa. sau khi công việc chạy, get_all_pages() trả về danh sách các đường byte SVG mỗi trang:

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)

Nguồn nhập khẩu

FileInputSource

FileInputSource Đọc đánh dấu TeX từ A .tex file trên đĩa. đây là chế độ nhập tiêu chuẩn khi kiểu hóa tài liệu hiện có:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource

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

StringInputSource

StringInputSource chấp nhận đánh dấu TeX như một dòng Python. chế độ nhập này là được sử dụng cho thế hệ markup năng động – xây dựng TeX theo lập trình và Nhập nó mà không viết vào đĩa:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource

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

Kết hợp các thành phần

Ba thành phần làm việc cùng nhau để hình thành một đường ống kiểu đầy đủ.Chọn nguồn nhập phù hợp với dòng dữ liệu của bạn và thiết bị phù tương ứng với định dạng xuất khẩu của mình:

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")

Mẹo và thực hành tốt nhất

  • Sử dụng StringInputSource cho các mảnh TeX ngắn hoặc được tạo ra năng động; sử dụng FileInputSource Khi làm việc với hiện có .tex file .
  • PdfDevice là định dạng xuất khẩu di động nhất; sử dụng SvgDevice Khi nhập Tích xuất TeX trong các trang web hoặc dòng công việc đồ họa vector.
  • Reuse TeXOptions - Các trường hợp trong công việc nếu xử lý nhiều tài liệu với cùng thiết lập.
  • Các run() Giá trị trở lại là bytes cho PDF và DVI; đối với SVG, các byte là thu hồi từ SvgDevice.get_all_pages() Sau khi công việc hoàn thành.

API Reference tổng hợp

ClassRole
TeXJobĐiểm nhập; điều khiển đường ống kiểu TeX
TeXOptionsThiết lập động cơ; mặc định làm việc cho hầu hết các tài liệu
PdfDeviceThiết bị phát hành sản xuất PDF byte
DviDeviceThiết bị phát hành sản xuất DVI byte
SvgDeviceThiết bị phát hành sản xuất SVG qua mỗi trang get_all_pages()
FileInputSourcenhập từ a .tex file trên đĩa
StringInputSourceNhập từ một string Python

See Also

bắt đầu

Tài nguyên liên quan