Pendahuluan

Aspose.TeX FOSS untuk Python memperkenalkan mesin API yang ringkas dibangun di sekitar tiga konsep: titik masuk terpadu (TeXJob), perangkat keluaran yang dapat dipasang (PdfDevice, DviDevice, SvgDevice), dan dua jenis sumber input (FileInputSource, StringInputSource). Artikel ini membahas setiap komponen dan menunjukkan cara mereka digabungkan untuk menghasilkan output PDF, DVI, dan SVG dari markup TeX.


TeXJob — Titik Masuk

TeXJob adalah kelas utama untuk mengendalikan mesin TeX. Ia menerima sumber input, perangkat keluaran, dan TeXOptions opsional, kemudian menjalankan pipeline penataan huruf ketika run() dipanggil. Nilai kembaliannya adalah byte output untuk tipe perangkat yang menghasilkan satu output (PDF, DVI); untuk output SVG, halaman diambil dari objek perangkat setelah run() selesai.

TeXOptions mengonfigurasi perilaku mesin. Membuatnya dengan nilai baku (TeXOptions()) menggunakan pengaturan TeX standar yang cocok untuk kebanyakan dokumen.


Perangkat Keluaran

PdfDevice

PdfDevice menulis dokumen yang telah diatur tipenya ke aliran byte PDF. Ini adalah perangkat output standar untuk menghasilkan output yang dapat dipindahkan dan dapat dicetak:

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)

Setelah run(), byte yang dikembalikan berisi dokumen PDF lengkap.

DviDevice

DviDevice menghasilkan output format Device Independent (DVI) — format perantara asli dari TeX. Output DVI dapat digunakan oleh alat-alat hilir untuk rendering atau pemrosesan lebih lanjut:

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 merender setiap halaman yang telah diatur tipenya sebagai grafik vektor SVG. Setelah pekerjaan selesai, get_all_pages() mengembalikan daftar string byte SVG per halaman:

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)

Sumber Input

FileInputSource

FileInputSource membaca markup TeX dari file .tex di disk. Ini adalah mode input standar saat melakukan typesetting dokumen yang ada:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource

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

StringInputSource

StringInputSource menerima markup TeX sebagai string Python. Mode input ini digunakan untuk generasi markup dinamis — membangun TeX secara programatik dan melakukan typesetting tanpa menulis ke disk:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource

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

Menggabungkan Komponen

Ketiga komponen bekerja bersama untuk membentuk pipeline typesetting yang lengkap. Pilih sumber input yang sesuai dengan alur data Anda dan perangkat yang sesuai dengan format output Anda:

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

Tip dan Praktik Terbaik

  • Gunakan StringInputSource untuk fragmen TeX yang pendek atau dihasilkan secara dinamis; gunakan FileInputSource saat bekerja dengan file .tex yang ada.
  • PdfDevice adalah format output paling portabel; gunakan SvgDevice saat menyematkan output TeX dalam halaman web atau alur kerja grafis vektor.
  • Gunakan kembali instance TeXOptions di seluruh pekerjaan jika memproses beberapa dokumen dengan pengaturan yang sama.
  • Nilai kembali run() adalah bytes untuk PDF dan DVI; untuk SVG, byte diambil dari SvgDevice.get_all_pages() setelah pekerjaan selesai.

API Reference Ringkasan

KelasPeran
TeXJobTitik masuk; menggerakkan alur penataan TeX
TeXOptionsKonfigurasi mesin; nilai default bekerja untuk kebanyakan dokumen
PdfDevicePerangkat keluaran yang menghasilkan byte PDF
DviDevicePerangkat output yang menghasilkan byte DVI
SvgDevicePerangkat output yang menghasilkan SVG per halaman melalui get_all_pages()
FileInputSourceMasukan dari file .tex di disk
StringInputSourceMasukan dari string Python

Lihat Juga

Memulai

Sumber Daya Terkait