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
StringInputSourcecho các mảnh TeX ngắn hoặc được tạo ra năng động; sử dụngFileInputSourceKhi làm việc với hiện có.texfile . PdfDevicelà định dạng xuất khẩu di động nhất; sử dụngSvgDeviceKhi 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àbytescho 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
| Class | Role |
|---|---|
TeXJob | Điểm nhập; điều khiển đường ống kiểu TeX |
TeXOptions | Thiết lập động cơ; mặc định làm việc cho hầu hết các tài liệu |
PdfDevice | Thiết bị phát hành sản xuất PDF byte |
DviDevice | Thiết bị phát hành sản xuất DVI byte |
SvgDevice | Thiết bị phát hành sản xuất SVG qua mỗi trang get_all_pages() |
FileInputSource | nhập từ a .tex file trên đĩa |
StringInputSource | Nhập từ một string Python |