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 markup.


TeXJob จุดเข้าสู่การทํางาน

TeXJob เป็นชั้นหลักสําหรับการขับเคลื่อนเครื่อง TeX. มันรับแหล่งเข้า, และ อุปกรณ์ออก และไม่รับเลือก TeXOptions, แล้วทํางานไพเพลินการกําหนดตัวที่เมื่อ run() ได้เรียกค่ากลับคือไบต์การออกสําหรับประเภทอุปกรณ์ที่ผลิต การออกแบบเดียว (PDF, DVI) สําหรับการออก SVG หน้าถูกเรียกคืนจากวัตถุอุปกรณ์ หลังจากนั้น run() ครบแล้ว.

TeXOptions การสร้างมันด้วยแบบตั้งค่า (TeXOptions()) ใช้การตั้งค่า TeX แบบมาตรฐานที่เหมาะสําหรับเอกสารส่วนใหญ่.


อุปกรณ์การออก

PdfDevice เครื่องมือ

PdfDevice เขียนเอกสารแบบ TypeSet เป็น PDF ไบท์สตรีม. มันเป็นมาตรฐาน อุปกรณ์ออกเสียงสําหรับการผลิต output ที่สามารถพิมพ์ได้แบบโอนพาไป:

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) ตัวกลางพื้นบ้าน การออก 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 ทําให้ทุกหน้าที่ติดตัวเป็น SVG ภาพเวกเตอร์ หลังจากการทํางาน, get_all_pages() กลับรายการของ SVG byte สตริงต่อหน้า:

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. รูปแบบการเข้านี้คือ ใช้สําหรับการสร้าง markup ดินามิก การก่อตั้ง 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

ClassRole
TeXJobจุดเข้า; ดับไพปไลน์การกําหนดแบบ TeX
TeXOptionsการตั้งค่าเครื่อง; ปกติทํางานสําหรับเอกสารส่วนใหญ่
PdfDeviceอุปกรณ์ออกผลิต PDF byte
DviDeviceอุปกรณ์ออกผลิตไบท์ DVI
SvgDeviceอุปกรณ์การออกผลิต SVG ต่อหน้าผ่าน get_all_pages()
FileInputSourceการเข้าจาก a .tex ไฟล์บนดิสก์
StringInputSourceการเข้าจาก Python string

See Also

เริ่มต้น

แหล่งข้อมูลที่เกี่ยวข้อง